Hoe alle geopende (momenteel actieve) applicaties in Excel weergeven?
Eigenlijk kunt u een lijst maken van alle geopende toepassingen die alleen worden weergegeven wanneer u op de Alt + Tab-toetsen op uw computer in Excel drukt met actieve VBA-code. De methode in het artikel kan je helpen.
Maak een lijst van alle geopende (momenteel actieve) applicaties met VBA-code
Maak een lijst van alle geopende (momenteel actieve) applicaties met VBA-code
Ga als volgt te werk om alle geopende applicaties in Excel weer te geven.
1. Druk in een Excel-werkmap op de anders + F11 toetsen tegelijkertijd om het Microsoft Visual Basic voor toepassingen venster.
2. In de Microsoft Visual Basic voor toepassingen venster, druk op Iinvoegen > Module. Kopieer en plak vervolgens VBA-code in het codevenster. Zie screenshot:
VBA-code: maak een lijst van alle geopende applicaties in 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锛坰ingle 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. druk de F5 sleutel om de code uit te voeren. Bij het opduiken Kutools for Excel dialoogvenster, selecteer een cel waarin u alle actieve toepassingen wilt weergeven en klik vervolgens op OK knop. Zie screenshot:
Nu worden alle geopende applicaties onmiddellijk in de geselecteerde kolom weergegeven, zoals onderstaand screenshot.
Gerelateerde artikelen:
- Hoe alle overeenkomende exemplaren van een waarde in Excel weergeven?
- Hoe alle dagen als datum in een bepaalde maand in Excel weergeven?
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar effici毛ntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!