Board logo

標題: 如何將現有工作簿置頂?? (On Top) [打印本頁]

作者: samsung2888    時間: 2015-4-24 08:09     標題: 如何將現有工作簿置頂?? (On Top)

如何將現有工作簿置頂?? (On Top)
作者: stillfish00    時間: 2015-4-24 09:03

回復 1# samsung2888
ThisWorkbook.Activate
AppActivate "MicroSoft Excel"
作者: samsung2888    時間: 2015-4-24 16:23

試過不行呢!!!!我想要把Excel視窗放到windows最上層.....always on top!!!
作者: stillfish00    時間: 2015-4-24 16:47

回復 3# samsung2888
沒辦法永遠提到最上,而是執行到上面的程式碼時
會把"Excel應用程式"提到最上層而已。

如果你指的是Excel工作表被UserForm蓋住,可以修改Userform的ShowModal屬性為false
作者: bobomi    時間: 2015-4-24 20:02

(1) 掛API
or
(2) 掛程式

(1) 掛API
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

Sub AlwaysOnTop(最上層 As Boolean)
  On Error Resume Next
  h = Excel.Application.hwnd
  If Err Then
  h = FindWindow("XLMAIN", "Microsoft Excel - " & ThisWorkbook.Name)
  End If
  On Error GoTo 0
  k = IIf(最上層, -1, -2)
  Call SetWindowPos(h, k, 0, 0, 0, 0, 3)
End Sub
作者: samsung2888    時間: 2015-4-24 22:23

回復 5# bobomi

感謝網友bobomi 熱心的回答.....
原來要用api 才解決得到
測試過真的可以喔
我要的就是這個......厲害!!!!!萬分感謝你




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)