Làm cách nào để liệt kê tất cả các ứng dụng đang mở (hiện đang chạy) trong Excel?
Trên thực tế, bạn có thể liệt kê tất cả các ứng dụng đang mở chỉ hiển thị khi nhấn phím Alt + Tab trong máy tính của bạn trong Excel với mã VBA đang chạy. Phương pháp trong bài viết có thể giúp bạn.
Liệt kê tất cả các ứng dụng đang mở (hiện đang chạy) với mã VBA
Liệt kê tất cả các ứng dụng đang mở (hiện đang chạy) với mã VBA
Vui lòng làm như sau để liệt kê tất cả các ứng dụng đang mở trong Excel.
1. Trong sổ làm việc Excel, vui lòng nhấn Khác + F11 các phím đồng thời để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấn Ichèn vào > Mô-đun. Sau đó sao chép và dán mã VBA vào cửa sổ Mã. Xem ảnh chụp màn hình:
Mã VBA: Liệt kê tất cả các ứng dụng đang mở trong 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. Nhấn nút F5 phím để chạy mã. Trong cửa sổ bật lên Kutools cho Excel hộp thoại, vui lòng chọn một ô mà bạn muốn liệt kê tất cả các ứng dụng đang chạy, sau đó bấm vào OK cái nút. Xem ảnh chụp màn hình:
Bây giờ tất cả các ứng dụng đang mở được liệt kê trong cột đã chọn ngay lập tức như ảnh chụp màn hình bên dưới.
Các bài liên quan:
- Làm cách nào để liệt kê tất cả các trường hợp phù hợp của một giá trị trong Excel?
- Làm cách nào để liệt kê tất cả các ngày dưới dạng ngày tháng trong một tháng cụ thể trong Excel?
Công cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều
- Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
- Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
- Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!