Excel VBA質問箱 IV

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

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


10616 / 13644 ツリー ←次へ | 前へ→

【20819】ユーザーフォームの「最小化」と「表示/... コスモス 04/12/21(火) 10:48 質問[未読]
【20820】Re:ユーザーフォームの「最小化」と「表... IROC 04/12/21(火) 11:02 回答[未読]

【20819】ユーザーフォームの「最小化」と「表示/...
質問  コスモス  - 04/12/21(火) 10:48 -

引用なし
パスワード
   Excel VBAで、「ユーザーフォームの表示/非表示」の件とも関連するのですが、集計のプログラミングを組み込んだコマンドボタンをクリックすると集計結果の印刷プレビューが表示されるようにしました。問題は、ユーザーフォームがじゃまになってその印刷プレビューの細部や全体が見えないということです。また、Excelのウィンドウとユーザーフォームがバッティングして、Excelの印刷プレビューの[閉じる]ボタンを押さないと、コマンドボタンなどをクリックするというユーザーフォーム上の操作ができません。印刷・出力せずに内容確認して印刷プレビューを閉じたいような場合、ユーザーフォームの「最小化」ができるようにするにはどうすればいいですか? 「表示/非表示」でもいいのですが、できれば「最小化」の方法を・・・・・・。VBAのコードでお願い致します。

【20820】Re:ユーザーフォームの「最小化」と「表...
回答  IROC  - 04/12/21(火) 11:02 -

引用なし
パスワード
   ユーザーフォームのモジュールに書いて下さい。
最小化などのボタンが表示されます。

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 GetActiveWindow Lib "user32" () As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long

Private Const GWL_STYLE = (-16)
Private Const WS_THICKFRAME = &H40000

Private Sub UserForm_Activate()
Dim Ret As Long
Dim hwnd As Long
Dim Wnd_STYLE As Long
 hwnd = GetActiveWindow()
 Wnd_STYLE = GetWindowLong(hwnd, GWL_STYLE)
 Wnd_STYLE = Wnd_STYLE Or WS_THICKFRAME Or &H30000
 Ret = SetWindowLong(hwnd, GWL_STYLE, Wnd_STYLE)
 DrawMenuBar hwnd
End Sub

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