[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『フォームに最小化ボタンを追加したい』(MOMOKA☆)
VBAのユーザーホームを作ったのですが、それに、最小化ボタン(ファイルの右上についてあるもの)をつけることは出来ますか?
宜しくお願い致します。
MOMOKAさん、こんちわ。 あんな案配にはでけしまへんけど、CommandBUttonを2個追加して一方を小、も一方 に大とCaptionを書き換えたらどうでっか?更にBackColorかFontColorを使いコマンド ボタンを絞ればきぃにならなくなりますわ。 それでもあんなんがええっちゅうんやったら、いっぽうのコマンドボタンに「-」もう 一方に「□」とCaptionを書き換えてみておくんなはれ。 そして、下のコードをコピペすればお望み?通りになると思いまんねんけどナ。 ほな...(弥太郎)
Private Sub CommandButton1_Click()'新しく作ったコマンドボタンNoに書き換え! ActiveWindow.WindowState = xlMinimized
End Sub '----------------------- Private Sub CommandButton2_Click()'新しく作ったコマンドボタンNoに書き換え! ActiveWindow.WindowState = xlMaximized End Sub
最小化ボタンの追加はWindowsAPI使わないとできません http://park11.wakwak.com/~miko/Excel_Note/11-01_userform.htm#11-01-15 こちらを参考にすればいいと思います (りな)
げっ!? これ、ユーザーフォームの最小化でっか? そらぁそやわなぁ。フォームでエクセルを最小化せんでもボタンが見えてますもんなぁ えらい、はやとちりで...。慌てモンぶりは(りな)さん似でんな、ハハ。 っちゅうことでMOMOKAさん↑のサイトを開いてみておくんなはれ。 ほなら...(弥太郎)
Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" _ (ByVal hwnd As Long, _ ByVal nIndex As Long) As Long
標準モジュールの上部に記述していますか? (INA)
Privateが付いていましたね・・間違えました。ご免なさい。 以下のコードを対象のユーザーフォームモジュールにコピペしてみて下さい。 .show するとボタンが表示されるはずです。 (INA)
Private Declare Function FindWindow _ Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String _ , ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong _ Lib "user32" Alias "GetWindowLongA" _ (ByVal Hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Sub SetWindowLong _ Lib "user32" Alias "SetWindowLongA" _ (ByVal Hwnd As Long, ByVal nIndex As Long _ , ByVal dwNewLong As Long)
Private Declare Sub DrawMenuBar _ Lib "user32" (ByVal Hwnd As Long)
Private Const GWL_STYLE As Long = -16 Private Const WS_THICKFRAME As Long = &H40000 Private Const WS_MAXIMIZEBOX As Long = &H10000 Private Const WS_MINIMIZEBOX As Long = &H20000
Private Sub UserForm_Initialize() Const fWINDOWSTYLE As Long _ = WS_THICKFRAME Or WS_MAXIMIZEBOX Or WS_MINIMIZEBOX Dim myHwnd As Long Dim myWindowLong As Long myHwnd = FindWindow("ThunderDFrame", Caption) myWindowLong = GetWindowLong(myHwnd, GWL_STYLE) SetWindowLong myHwnd, GWL_STYLE, myWindowLong Or fWINDOWSTYLE DrawMenuBar myHwnd End Sub
>ユーザーホームを最小化しても、シートを編集することができないんですね… それはユーザーフォームの表示モードによります。 .show 0 で表示してみてください。 それと showメソッド についてヘルプを読んでみて下さい。 0 にするとモードレス表示になることが記載されています。 (INA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.