Excel VBA質問箱 IV

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

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


42929 / 76732 ←次へ | 前へ→

【38864】Re:ユーザーフォームが隠れないようにし...
発言  漂流民  - 06/6/12(月) 23:24 -

引用なし
パスワード
   ▼西谷 さくら さん:
>エクセルからUserForm1 を全画面表示し、そこのボタンを押すと小さなUserForm2が出てきてパレットのような役割をします。UserForm2 を見ながらUserForm1上のボタン類を操作したいのですが、さわったとたんにUserForm2が消えて(下に隠れて)しまいます。両方とも vbModeless で干渉しないと思っていたのですが。フォームのZorderもなさそうだし・・・
>環境:WindowsXP,エクセル2000、VBA

[#38813]の質問にレスを入れられたようなので、
私なりの回答です。

標準モジュール
Public Declare Function GetActiveWindow Lib "user32" () As Long
Public Declare Function SetWindowPos Lib "user32.dll" (ByVal hWnd As Long, ByVal st As Long, _
    ByVal x As Long, ByVal y As Long, ByVal w As Long, ByVal h As Long, ByVal uFlags As Long) As Long

Sub test()
  UserForm1.Show vbModeless
End Sub

ユーザーフォーム1
Private Sub CommandButton1_Click()
  UserForm2.Show vbModeless
End Sub

ユーザーフォーム2
Private Sub UserForm_Activate()
  Dim hwu As Long
  hwu = GetActiveWindow()
  Call SetWindowPos(hwu, -1, 0, 0, 0, 0, 3)
End Sub

0 hits

【38827】ユーザーフォームが隠れないようにしたい 西谷 さくら 06/6/11(日) 19:37 質問
【38828】Re:ユーザーフォームが隠れないようにしたい Kein 06/6/11(日) 19:52 発言
【38863】Re:ユーザーフォームが隠れないようにしたい 西谷 さくら 06/6/12(月) 22:51 お礼
【38864】Re:ユーザーフォームが隠れないようにし... 漂流民 06/6/12(月) 23:24 発言
【38890】Re:ユーザーフォームが隠れないようにし... 西谷 さくら 06/6/13(火) 19:09 お礼

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