Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13038 / 13646 ツリー ←次へ | 前へ→

【7327】最大化ボタンを無効(有効)にする ドラゴン 03/9/2(火) 16:42 質問
【7343】Re:最大化ボタンを無効(有効)にする bykin 03/9/2(火) 20:54 回答
【7348】Re:最大化ボタンを無効(有効)にする ドラゴン 03/9/2(火) 22:27 お礼

【7327】最大化ボタンを無効(有効)にする
質問  ドラゴン  - 03/9/2(火) 16:42 -

引用なし
パスワード
   こんにちわ。
画面左上の _□× のうち真ん中の「最大化(元に戻す)」
ボタンを無効(または有効)にする方法はありますか?
画面を最大化させないでユーザーに処理をさせたいのです。
「閉じる(×)」ボタンが無効になっているエクセルファイル
を見たことがあります(やり方はわかりませんが)。
同じようにできないでしょうか?わかる方がいましたら
教えて下さい。

【7343】Re:最大化ボタンを無効(有効)にする
回答  bykin  - 03/9/2(火) 20:54 -

引用なし
パスワード
   こんばんわ。

API使わんと無理やと思うねんけど・・・
使ってええんやったら、こんな感じかな?

(標準モジュール)
Private Const GWL_STYLE = (-16)
Private Const WS_MAXIMIZEBOX = &H10000
Private Declare Function GetWindowLong Lib "user32" _
             Alias "GetWindowLongA" _
            (ByVal hWnd As Long, _
             ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" _
             Alias "SetWindowLongA" _
            (ByVal hWnd As Long, _
             ByVal nIndex As Long, _
             ByVal dwNewLong As Long) As Long
Private Declare Function FindWindow Lib "user32" _
             Alias "FindWindowA" _
            (ByVal lpClassName As String, _
             ByVal lpWindowName As String) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long

Sub EnableMaxButton(ByVal Flg As Boolean)
  Dim Ret As Long
  Dim hWnd As Long
  Dim Wnd_STYLE As Long
  
  hWnd = FindWindow("XLMAIN", Application.Caption)
  Wnd_STYLE = GetWindowLong(hWnd, GWL_STYLE)
  If Flg Then
    Wnd_STYLE = Wnd_STYLE Or WS_MAXIMIZEBOX
  Else
    Wnd_STYLE = Wnd_STYLE And Not WS_MAXIMIZEBOX
  End If
  Ret = SetWindowLong(hWnd, GWL_STYLE, Wnd_STYLE)
  Ret = DrawMenuBar(hWnd)
End Sub

Sub test()
  MsgBox "無効にします"
  EnableMaxButton False
  MsgBox "有効にします"
  EnableMaxButton True
End Sub

試してみてな。
ほな。

【7348】Re:最大化ボタンを無効(有効)にする
お礼  ドラゴン  - 03/9/2(火) 22:27 -

引用なし
パスワード
   ▼bykin さん:
こんばんわ。

API使っても大丈夫です。
ありがとうございます。
おかげさまで、希望通りのツールができます。

13038 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free