[英]Open File Without Calling Filepath
我用的是excel VBA,我想按一个按钮直接打开另一个文件,没有“选择文件窗口”的效果。
这是当前代码:
Sub loadFile_click()
Workbooks.Open("C:\Users\GIL\Desktop\ObsReportExcelWorkbook.xlsx")
End Sub
在这种情况下,该文件与主文件位于同一文件夹中。
有没有办法不输入文件路径就可以做到这一点?
如果文件名是固定的,您可以使用 ActiveWorkbook.Path function 返回当前工作簿的路径:
Dim FileName as string FileName = ActiveWorkbook.Path & "\myfile.xlsx
检查您是否需要额外的斜杠字符。
如果文件与包含 VBA 宏的文档位于同一文件夹中,请使用
ThisWorkbook.Path
例如:
Workbooks.Open(ThisWorkbook.Path & "\ObsReportExcelWorkbook.xlsx")
(即使文档不再是活动文档,或者您更改了当前目录,这也有效)。
如果它在同一个文件夹中,那么
Workbooks.Open("ObsReportExcelWorkbook.xlsx")
或者
Workbooks.Open(".\ObsReportExcelWorkbook.xlsx")
应该管用。 我刚刚在 Excel VBA 中尝试了两者,都成功了。
Workbooks.Open ("D:\data\Mohit Singh\msk\data\book1.xlsx")
打开 ActiveWorkBook 的文件夹
Sub OpenFolderofProject()
Dim strMsg As String, strTitle As String
Dim sFolder As String
sFolder = ThisWorkbook.Path
strMsg = "Open WorkBook Folder Location? "
strTitle = "Folder Location:" & sFolder
If MsgBox(strMsg, vbQuestion + vbYesNo, strTitle) = vbNo Then
Else
Call Shell("explorer.exe " & sFolder, vbNormalFocus)
End If
End Sub
上下文:通常您对项目的修订会不断更改,或者您有一个自动生成的具有动态名称的工作簿。 不管是什么情况。 这将知道您的工作簿路径位置,并询问您是否要打开该特定文件夹。
当我以编程方式在工作簿的同一文件夹中动态保存一堆 Excel 时,这对我非常有用。 因为不是将工作簿关闭/最小化到 go 到资源管理器。 我可以专注于该项目,而不会失去思路。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.