制御 エクセルの「×」を消す

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。


Option Explicit

'’「Find-Window」API関数を使用しウィンドウを操作する場合、ハンドル取得に必要
'’「GetWindowLong」ウィンドウプロパティ取得

Declare Function findwindow Lib "user32" _
Alias "FindWindowA" (ByVal lpclassname As String, ByVal lowindowname As StringAs Long

Declare Function getwindowlong Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nindex As LongAs Long

Declare Function setwindowlong Lib "user32" _
Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nindex As Long, ByVal dwnewlong As LongAs Long

Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As LongAs Long

Const gwl_style = (-16)
Const ws_sysmenu = &H80000

Sub DisappearCloseButton()

Dim myRes As Long, myWindowHandle As Long, myWindowStyle As Long, myClassName As String

myClassName = "xlmain"

myWindowHandle = findwindow(myClassName, Application.Caption)
myWindowStyle = getwindowlong(myWindowHandle, gwl_style)
myWindowStyle = myWindowStyle And (Not ws_sysmenu)
myRes = setwindowlong(myWindowHandle, gwl_style, myWindowStyle)
myRes = DrawMenuBar(myWindowHandle)

Application.WindowState = xlMaximized

End Sub 

 

2000年01月01日|[VBサンプルコード]:[制御]