Cum se listează toate aplicațiile deschise (care rulează în prezent) în Excel?
De fapt, puteți lista toate aplicațiile de deschidere care se afișează numai atunci când apăsați tastele Alt + Tab din computerul dvs. în Excel cu cod VBA care rulează. Metoda din articol vă poate ajuta.
Enumerați toate aplicațiile deschise (care rulează în prezent) cu cod VBA
Enumerați toate aplicațiile deschise (care rulează în prezent) cu cod VBA
Vă rugăm să faceți următoarele pentru a lista toate aplicațiile deschise în Excel.
1. Într-un registru de lucru Excel, apăsați pe Alt + F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.
2. În Microsoft Visual Basic pentru aplicații fereastră, apăsați Insert > Module. Apoi copiați și lipiți codul VBA în fereastra Cod. Vedeți captura de ecran:
Cod VBA: enumerați toate aplicațiile deschise în Excel
Private Declare PtrSafe Function apiGetClassName Lib "user32" Alias _
"GetClassNameA" (ByVal Hwnd As Long, _
ByVal lpClassname As String, _
ByVal nMaxCount As Long) As Long
Private Declare PtrSafe Function apiGetDesktopWindow Lib "user32" Alias _
"GetDesktopWindow" () As Long
Private Declare PtrSafe Function apiGetWindow Lib "user32" Alias _
"GetWindow" (ByVal Hwnd As Long, _
ByVal wCmd As Long) As Long
Private Declare PtrSafe Function apiGetWindowLong Lib "user32" Alias _
"GetWindowLongA" (ByVal Hwnd As Long, ByVal _
nIndex As Long) As Long
Private Declare PtrSafe Function apiGetWindowText Lib "user32" Alias _
"GetWindowTextA" (ByVal Hwnd As Long, ByVal _
lpString As String, ByVal aint As Long) As Long
Private Const mcGWCHILD = 5
Private Const mcGWHWNDNEXT = 2
Private Const mcGWLSTYLE = (-16)
Private Const mcWSVISIBLE = &H10000000
Private Const mconMAXLEN = 255
Sub ListName()
Dim xRg As Range
Dim xStr As String
Dim xStrLen As Long
Dim xHandle As Long
Dim xHandleStr As String
Dim xHandleLen As Long, xHandleStyle As Long
On Error Resume Next
Set xRg = Application.InputBox("Please select a range(single cell):", "KuTools For Excel", ActiveWindow.RangeSelection.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
xRg(1).Activate
xHandle = apiGetWindow(apiGetDesktopWindow(), mcGWCHILD)
Do While xHandle <> 0
xStr = String$(mconMAXLEN - 1, 0)
xStrLen = apiGetWindowText(xHandle, xStr, mconMAXLEN)
If xStrLen > 0 Then
xStr = Left$(xStr, xStrLen)
xHandleStyle = apiGetWindowLong(xHandle, mcGWLSTYLE)
If xHandleStyle And mcWSVISIBLE Then
ActiveCell.Value = xStr
ActiveCell.Offset(1, 0).Activate
End If
End If
xHandle = apiGetWindow(xHandle, mcGWHWNDNEXT)
Loop
End Sub
3. apasă pe F5 tasta pentru a rula codul. În pop-up Kutools pentru Excel caseta de dialog, selectați o celulă în care doriți să afișați toate aplicațiile care rulează, apoi faceți clic pe OK buton. Vedeți captura de ecran:
Acum toate aplicațiile de deschidere sunt listate imediat în coloana selectată, așa cum se arată în imaginea de mai jos.
Legate de articole:
- Cum se listează toate instanțele potrivite ale unei valori în Excel?
- Cum să listați toate zilele ca dată într-o lună specificată în Excel?
Cele mai bune instrumente de productivitate de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!