[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『フォームに最小化ボタンを追加したい』(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.