excel中用宏打开一个文件夹(不是excel文件)代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel中用宏打开一个文件夹(不是excel文件)代码相关的知识,希望对你有一定的参考价值。

注意是打开一个文件夹

在EXCEL中的vba编辑器中输入以下代码,将需要打开的文件夹路径填写完整。

Sub 打开文件夹()
Dim p As String
    p = "C:\\Users\\" '这里填写完整你需要打开文件夹的路径
    Shell "EXPLORER.EXE " & p, vbNormalFocus '打开文件夹
End Sub

参考技术A 假定要打开E盘的"excel"文件夹:
Sub Macro1()
Dim MyPath$, SPOpen$
MyPath = "E:\excel"
ChDrive Split(MyPath, ":")(0)
ChDir MyPath
SPOpen = Application.Dialogs(xlDialogOpen).Show
If SPOpen = False Then Exit Sub
End Sub追问

差一点就很完美,我的意思是让E盘的一个与excel无关的文件夹弹出来,比如“E:\生成文档”这个弹出。
麻烦帮我在看一下

本回答被提问者采纳
参考技术B Sub A18Openthefile()
Dim strPathName As String
Dim Filename As String
Filename = ActiveCell
strPathName = "E:\Yonggui\Product\产品图\" & Filename & ".PNG"
Shell "explorer.exe """ & strPathName & """", vbNormalFocus
End Sub

以编程方式确定 Excel 文件 (.xls) 是不是包含宏

【中文标题】以编程方式确定 Excel 文件 (.xls) 是不是包含宏【英文标题】:Programmatically Determine If An Excel File (.xls) Contains Macros以编程方式确定 Excel 文件 (.xls) 是否包含宏 【发布时间】:2011-03-01 16:24:41 【问题描述】:

有没有什么方法可以以编程方式确定 .xls 是否包含宏,而无需在 Excel 中实际打开它?

还有什么方法可以检查这些宏是用哪个证书(包括时间戳证书)签名的?再次不使用 Excel。

我特别想知道,当存在宏时,是否有任何字符串总是出现在 Excel 文件的原始数据中。

【问题讨论】:

这将用于 XLS 文件 【参考方案1】:

是的,您可以将 .xls 文件作为复合文档文件打开,并检查其中是否包含 VBA 文件夹和包含 VBA 代码的流。

此 CodeProject 文章中提供了示例代码:

Another OLE Doc Viewer but with editing facility

证书信息存储在 DocumentSummaryInformation 流中。如果您想从那里读出信息,您应该深入了解 Microsoft 提供的文件格式规范:

[MS-OSHARED]: Office Common Data Types and Objects Structure Specification

[MS-OFFCRYPTO]: Office Document Cryptography Structure Specification

【讨论】:

谢谢,这比我预期的还要好,我不知道文件格式是公开的!【参考方案2】:

一个包含宏的 xls 文件应该包含一个类似于

的字符串
Keyboard Shortcut:

不知道这是否是一个万无一失的解决方案

【讨论】:

以上是关于excel中用宏打开一个文件夹(不是excel文件)代码的主要内容,如果未能解决你的问题,请参考以下文章

通过宏导入数据后保存excel文件的问题

打开 Excel 文件,运行宏,保存(覆盖)

EXCEL加载宏如何制作成安装文件。要详细过程,谢谢!!!

打开EXCEL文件里会多打开一个空白表格

我用的是excel2013,别人给我发了一个excel文件,后缀为.xlsm;每次打开都非常慢,显示如下图。

E打开EXCEL文件时,总是出现“禁用宏,关闭”解决方案