- ©«¤l
- 57
- ¥DÃD
- 14
- ºëµØ
- 0
- ¿n¤À
- 73
- ÂI¦W
- 0
- §@·~¨t²Î
- win8.1
- ³nÅ骩¥»
- office2010
- ¾\ŪÅv
- 20
- µù¥U®É¶¡
- 2015-4-2
- ³Ì«áµn¿ý
- 2019-6-17
|
¦^´_ justintoolbox
¤£¦n·N«ä¡Aèè§Ú¶Kªº¦æ¤£³q
§Ú·Ó§Aªº¤èªk¶}±Òexcel¡A¯uªº¤£¦æ
no3-taco µoªí©ó 2015-7-25 12:17 
no3-taco«e½ú¡AÁÂÁ§AªºÀ°¦£¡C
§Ú¦³¬d¨ìºô¸ô¤WªºÃþ¦üªº°ÝÃD¡C§Ú§â¥N½X©ñ¦b©³¤U¡]¤W¤@«Êªº¥N½X¬O§Ú¨Ì·Ó¤U±ªº¥N½X×¥¿¦Ó¨Ó¡A¥iÅã¥Ü¦h¤ÖÓ¿W¥ßEXCEL)¡C
´ú¸Õµ²ªG¡G
§Ú¦ba.xlsm°õ¦æ¹L©³¤U¥N½Xªºtestµ{§Ç¡Aµ²ªGdebug.print¥X¨Ó¬O¤@¦êªø¾ã¼Æ¡C
¦pªG³o®ÉÔ¡G¡y«ö¤UshitÁä¨Ã¦ba.xlsm«ö¤U¥ªÁä¡z¡A«h·|·s¼W¥X¤@Ó¿W¥ßªºexcelÀÉ¡C
³o®ÉÔ¦ba.xlsm°õ¦ætestµ{§Ç¡A·|¥X²{¨â¦êªø¾ã¼Æ¡C
·P·Q¡G
¥uª¾¹D³o¨â¦ê¦U¥NªíµÛ¨âÓ¿W¥ßEXCEL¡A¦ý«o¤£ª¾¹D¦p¦ó§Q¥Î¡H
§Ú¦³«ä¦Ò¡GYª¾¹D³o¨â¦ê¼Æ¦r¡A´N»¡¤£©w¥i¥H¾Þ±±Ó§O¿W¥ßEXCEL¤F¡]¤]´N¥i¥Hª¾¹D¥t¤@Ó¿W¥ßEXCELÀɦW¤F¡^
Àµ½Ð¦U¦ì«e½ú©Î°ª¤âÌ¡A¥X¤â¬Û±Ï¡ã ·PÁ¡I¡ã- Option Explicit
- Private Declare PtrSafe Function FindWindowEx Lib "user32" Alias _
- "FindWindowExA" ( _
- ByVal hWnd1 As Long, ByVal hWnd2 As Long, _
- ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
- Private Declare PtrSafe Function GetDesktopWindow Lib "user32.dll" () As Long
- Sub test()
- Dim i As Long
- Dim arrXLhWnd() As Long
- If GetXLhWnds(arrXLhWnd) Then
- For i = LBound(arrXLhWnd) To UBound(arrXLhWnd)
- Debug.Print arrXLhWnd(i)
- Next
- End If
- End Sub
- Function GetXLhWnds(arrXLhWnd() As Long) As Long
- Dim n As Long
- Dim hWndXL As Long, hWndDT As Long
- ReDim arrXLhWnd(1 To 100) ' cater for 100 potential Excelinstances
- hWndDT = GetDesktopWindow
- Do
- hWndXL = FindWindowEx(hWndDT, hWndXL, "XLMAIN", vbNullString)
- If hWndXL Then
- n = n + 1
- arrXLhWnd(n) = hWndXL
- End If
- Loop Until hWndXL = 0
½Æ»s¥N½X |
|