Excel VBA質問箱 IV

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

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


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

【45188】ユーザーフォームをアクティブにする方法 hitosi 06/12/14(木) 20:09 質問[未読]
【45189】Re:ユーザーフォームをアクティブにする方法 Kein 06/12/14(木) 20:38 回答[未読]
【54342】Re:ユーザーフォームをアクティブにする方法 初心者 08/3/9(日) 2:31 お礼[未読]

【45188】ユーザーフォームをアクティブにする方法
質問  hitosi  - 06/12/14(木) 20:09 -

引用なし
パスワード
   ユーザーフォームをアクティブにする方法と常に最前面にする方法を教えてください。

【45189】Re:ユーザーフォームをアクティブにする...
回答  Kein  - 06/12/14(木) 20:38 -

引用なし
パスワード
   こーいうことがしたいのかな・・?

[標準モジュール]

Declare Function SetActiveWindow Lib "user32" (ByVal hWnd&) As Long
Public hWnd As Long, ApSet As Long

Sub Fom_Shw()
  If MsgBox("ユーザーフォームを常に手前にセットしますか" & _
  vbLf & "「いいえ」なら設定を解除します", 36) = 6 Then
   ApSet = -1
   UserForm1.Show
  Else
   ApSet = -2
   UserForm1.Show False
  End If
End Sub

Sub Act_Fom() 'ユーザーフォームをアクティブにする
  SetActiveWindow hWnd
End Sub

[フォームモジュール]

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowPos Lib "user32" _
(ByVal hWnd As Long, ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal Y As Long, _
ByVal cx As Long, ByVal cy As Long, _
ByVal wFlags As Long) As Long

Private Sub UserForm_Activate()
  Dim Ret As Long, hWnd As Long
 
  hWnd = FindWindow("ThunderDFrame", Me.Caption)
  Ret = SetWindowPos(hWnd, ApSet, 0, 0, 0, 0, &H40 Or &H1 Or &H2)
End Sub

【54342】Re:ユーザーフォームをアクティブにする...
お礼  初心者  - 08/3/9(日) 2:31 -

引用なし
パスワード
   先日は、このページでお世話になりました.
今回は通りすがりでしたが、同様の件で困っていたので
助かりました.
ありがとうございます.

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