- ベストアンサー
ExcelVBAでユーザーフォームの右上にある最小化ボタンを表示したい
通常フォームには右上に最小化、最大化、閉じるボタンがあると思いますがExcelVBAで、フォームを作ったときには最小化ボタンがありません。 これを表示させるにはどのようにしたらよいのでしょうか? 回答よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ユーザーフォームに最小化、最大化ボタンを付ける http://www.serpress.co.jp/excel/vba047.html
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルVBAではフォームやコントロールの最小化は話題になっていないですね。 Application(=エクセル)はApplication.WindowState = xlMinimized で出てきますが。 http://members3.jcom.home.ne.jp/daruma_kyo/class/clsMinimizationButton.html のようにまがい物を作って、工夫しないとできないようです。 「たたむ」というCaptionの「ボタン」をフォームにつくり、クリックするとVisible=Faleにして、ボタンの表示を「展開」ににして、タイトル状のバーを表示する。その「展開」ボタンをクリックすると、フォームを表示し、バー(ラベル)を非表示にする(トグル的スイッチ的動作)。 ーー アクセスでは http://www.happy2-island.com/access/gogo03/capter60001.shtml のAcIconのことが出ています。 ーー VB.Netなどでは当たり前の話題で出ます。 http://www.bcap.co.jp/hanafusa/dotnet/form01.htm#no1 ーー http://www.vba.com.tw/plog/post/1/271 中国語の記事ですが、 ーーー UserForm1にラベル1つを張り付ける ユーザーフォームのコードにWEBのコードを貼り付ける。 区切り線----を取り除く(数箇所) Me.Label1.Font.Size = 13と変える。 ーーー 実行ーSub/ユーザーフォームの実行で これを実行すると最小化ボタンが出て、クリックすると、最小化されます。 ご覧になれば分かるようにAPIを使っています。そこまでしないと エクセルVBAでは不可能なのだろうと思います。
お礼
なるほど。 やはりAPIを使わないと作れないんですね。 ありがとうございました。
お礼
参考になりました。 ありがとうございました。