制御 エクセルの「×」を消す
※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。
※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。
Option Explicit '’「Find-Window」API関数を使用しウィンドウを操作する場合、ハンドル取得に必要 '’「GetWindowLong」ウィンドウプロパティ取得 Declare Function findwindow Lib "user32" _ Alias "FindWindowA" (ByVal lpclassname As String, ByVal lowindowname As String) As Long Declare Function getwindowlong Lib "user32" _ Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nindex As Long) As Long Declare Function setwindowlong Lib "user32" _ Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nindex As Long, ByVal dwnewlong As Long) As Long Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As 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 |