体验零代码搭建

如何列出Excel中所有打开的(当前正在运行的)应用程序?

网友投稿  ·  2023-10-30 11:10  ·  行业资讯  ·  阅读 697


如何列出Excel中所有打开的(当前正在运行的)应用程序?

如何列出Excel中所有打开的(当前正在运行的)应用程序?

实际上,您可以列出所有打开的应用程序,这些应用程序仅在运行VBA代码的Excel中按计算机中的Alt + Tab键时才显示。 文章中的方法可以为您提供帮助。

如何列出Excel中所有打开的(当前正在运行的)应用程序?

用VBA代码列出所有打开的(当前正在运行的)应用程序

用VBA代码列出所有打开的(当前正在运行的)应用程序

请执行以下操作以列出Excel中所有打开的应用程序。

1.在Excel工作簿中,请按 其他 + F11 同时打开 Microsoft Visual Basic应用程序 窗口。

2.在 Microsoft Visual Basic应用程序 窗口,按我插入 > 模块。 然后将VBA代码复制并粘贴到“代码”窗口中。 看截图:

VBA代码:列出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
Copy

3。 按 F5 键来运行代码。 在弹出 Kutools for Excel 对话框,请选择要列出所有正在运行的应用程序的单元格,然后单击 OK 按钮。 看截图:

现在,所有打开的应用程序都会立即在所选列中列出,如下图所示。

相关文章: 如何在Excel中列出值的所有匹配实例? 如何在Excel中将所有天都列为指定月份中的日期?

最佳办公生产力工具

将小时转化为分钟 Kutools for Excel!

准备好增强您的 Excel 任务了吗? 利用的力量 Kutools for Excel - 您终极的节省时间的工具。 简化复杂的任务并像专业人士一样浏览数据。 以闪电般的速度体验 Excel!

为什么需要 Kutools for Excel

🛠️  超过 300 项强大功能: Kutools 包含 300 多项高级功能,可简化您在 1500 多种场景中的工作。

📈  卓越的数据处理能力:合并单元格、删除重复项并执行高级数据转换 - 所有这些都不费吹灰之力!

⏱️  高效的批量操作:当你可以聪明地工作时,为什么还要付出额外的努力呢? 轻松批量导入、导出、组合和调整数据。

📊  可定制的图表和报告:访问各种附加图表并生成富有洞察力的报告。

🗄️  强大的导航窗格:通过强大的列管理器、工作表管理器和自定义收藏夹获得优势。

📝  七种类型的下拉列表:通过各种功能和类型的下拉列表使数据输入变得轻而易举。

🎓  用户友好:对于初学者来说轻而易举,对于专家来说是一个强大的工具。

***

*** *** *** 
Office Tab 为 Office 带来选项卡式界面,让您的工作更轻松
在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。 每天将您的工作效率提高50%,并减少数百次鼠标单击!
*** *** *** 


如何列出所有打开的工作簿并在Excel中轻松在工作簿之间切换? << 上一篇
2023-10-30 11:10
Excel如何清除公式保留数值
2023-10-30 11:10
下一篇 >>

相关推荐