非常抱歉给你带来困扰。让我们再试一次,确保代码正确无误。以下是修正后的VBA宏代码,确保它能正确打开文件所在的目录:
复制代码
Sub OpenCurrentWordFileDirectory()
Dim filePath As String
Dim directory As String
' 获取当前文档的路径
filePath = ActiveDocument.FullName
' 获取文档所在的目录
directory = Left(filePath, InStrRev(filePath, "\"))
' 打开文件所在的目录
Shell "explorer.exe /select," & Chr(34) & filePath & Chr(34), vbNormalFocus
End Sub
说明:
- 获取文档路径: 使用
ActiveDocument.FullName获取当前文档的完整路径。 - 获取目录路径: 使用
Left和InStrRev函数来提取文件所在的目录路径。 - 打开目录: 使用
Shell函数调用explorer.exe来打开文件所在的目录,并使用/select选项来选择文件。这样可以确保文件所在的目录被打开,并且文件被选中。
使用方法:
- 打开Word文档。
- 按
Alt + F11打开VBA编辑器。 - 在VBA编辑器中,点击
插入→模块来创建一个新的模块。 - 将上述代码粘贴到模块中。
- 保存并关闭VBA编辑器。
- 在Word中按
Alt + F8打开宏对话框,选择OpenCurrentWordFileDirectory宏,然后点击运行。
这个宏应该能够正确打开当前Word文档所在的目录,并且文件会被选中。如果仍然有问题,请确保路径正确并且文件已保存。
感谢强大的ai,虽然问了好几遍