Excel VBA質問箱 IV

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

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


34492 / 76734 ←次へ | 前へ→

【47451】Re:常に前面に表示するには?
回答  Kein  - 07/3/10(土) 22:39 -

引用なし
パスワード
   こんなマクロを標準モジュールの先頭から入れて、試してみて下さい。

Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
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

Dim MyFlg As Boolean

Const TUNENI_TEMAE_SET = -1 '常に手前にセット
Const KAIJYO = -2         '解除
Const HYOUZI_SURU = &H40
Const NO_SIZE = &H1
Const NO_MOVE = &H2

Sub TEST_TEMAE()
  Dim hWnd As Long, Ret As Long
  Dim Ans As Integer
   
  hWnd = FindWindow("XLMAIN", Application.Caption)
  If MyFlg Then
   Ans = MsgBox("常に手前表示を解除しますか", 36)
   If Ans = 6 Then
     Ret = SetWindowPos(hWnd, KAIJYO, 0, 0, 0, 0, _
     HYOUZI_SURU Or NO_MOVE Or NO_SIZE)
     MyFlg = False
   End If
  Else
   Ans = MsgBox("常に手前に表示しますか", 36)
   If Ans = 6 Then
     Ret = SetWindowPos(hWnd, TUNENI_TEMAE_SET, 0, _
     0, 0, 0, HYOUZI_SURU Or NO_MOVE Or NO_SIZE)
     MyFlg = True
   End If
  End If
End Sub

2 hits

【47448】常に前面に表示するには? じゃがいも 07/3/10(土) 21:15 質問
【47449】Re:常に前面に表示するには? ぱっせんじゃー 07/3/10(土) 21:28 発言
【47450】Re:常に前面に表示するには? じゃがいも 07/3/10(土) 21:46 発言
【47451】Re:常に前面に表示するには? Kein 07/3/10(土) 22:39 回答
【47453】Re:常に前面に表示するには? じゃがいも 07/3/10(土) 23:17 お礼

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