Form右上の閉じるボタン[ェ]を非表示か無効にするのは?[Excel]


タケ  2006-11-27 22:17:44  No: 97273

Form右上の閉じるボタン[ェ]を非表示か無効にする方法がわかりません。
色んなホームページを覗きましたが全くダメです。
思い当たる方法を全て教えてください。


もげ  2006-11-27 23:05:55  No: 97274

Excelなんですね。バージョンは何をお使いですか?

>色んなホームページを覗きましたが全くダメです。

ExcelのフォームはVBとちょっと違うので、
Excel専門サイトのほうが適していると思います。

なにをどう試して何がどうダメなのか説明できますか?
それ無しで、

>思い当たる方法を全て教えてください。

となると、回答くださる諸氏にばかりに労力を押し付けるようで
いただけませんね。
「〜ではどうですか?」「既にダメでした(理由は説明されない)」の繰り返し
が予想されるので、おそらく放置だと思いますよ。

とりあえず、
http://www.geocities.co.jp/SiliconValley-PaloAlto/1200/html/v_15.htm
でダメな理由を教えてもらえますか?
もしかして、
http://www.h3.dion.ne.jp/~sakatsu/Excel_Tips08.htm#S4
かな  とか考えられることが多いんですよ。実際。


せとみ  2006-11-29 03:28:04  No: 97275

先ほど、私も新規質問をさせていただきました。
質問するだけでは、皆様に申し訳ないので、
少しでもお役に立てればと思い発言いたします。

APIを使って実現できます。
具体的には、次のような感じです。
クラス名は、Excelは「XLMAIN」です。
ご参考まで。

<宣言>
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer

Private Declare Function GetWindowInteger Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Integer, ByVal nIndex As Integer) As Integer

Private Declare Function SetWindowInteger Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Integer, ByVal nIndex As Integer, ByVal dwNewInteger As Integer) As Integer

Private Declare Function DrawMenuBar Lib "user32" Alias "DrawMenuBar" (ByVal hwnd As Integer) As Integer

Private Const GWL_STYLE = (-16)
Private Const WS_SYSMENU = &H80000

<閉じる・最大化・最小化ボタンを非表示>
Public Shared Sub コントロールメニューを無効にする(ByVal クラス名 As String)

Dim hwnd As Integer
Dim lngNewLong As Integer
Dim rc As Integer
hwnd = FindWindow(クラス名, vbNullString)
lngNewLong = GetWindowInteger(hwnd, GWL_STYLE)
rc = SetWindowInteger(hwnd, GWL_STYLE, lngNewLong And (Not WS_SYSMENU))
rc = DrawMenuBar(hwnd)

End Sub

<閉じる・最大化・最小化ボタンを表示>
Public Shared Sub コントロールメニューを有効にする(ByVal クラス名 As String)
Dim hwnd As Integer
Dim lngNewLong As Integer
Dim rc As Integer
hwnd = FindWindow(クラス名, vbNullString)
lngNewLong = GetWindowInteger(hwnd, GWL_STYLE)
rc = SetWindowInteger(hwnd, GWL_STYLE, lngNewLong Or WS_SYSMENU)
rc = DrawMenuBar(hwnd)

End Sub


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加