excel 不调用文件路径打开文件

4ioopgfo  于 2023-01-27  发布在  其他
关注(0)|答案(5)|浏览(116)

我正在使用Excel VBA。我想按下一个按钮,直接打开另一个文件,而没有"选择文件窗口"的效果。
这是当前代码:

Sub loadFile_click()
Workbooks.Open("C:\Users\GIL\Desktop\ObsReportExcelWorkbook.xlsx")
End Sub

在这种情况下,该文件与主文件位于同一文件夹中。
有没有办法不输入文件的路径就可以完成呢?

93ze6v8z

93ze6v8z1#

如果文件名是固定的,则可以使用ActiveWorkbook.path函数返回当前工作簿的路径:
Dim FileName as string FileName = ActiveWorkbook.Path & "\myfile.xlsx
检查是否需要额外的斜线字符。

tct7dpnv

tct7dpnv2#

如果该文件与包含VBA宏的文档位于同一文件夹中,请使用

ThisWorkbook.Path

例如:

Workbooks.Open(ThisWorkbook.Path & "\ObsReportExcelWorkbook.xlsx")

(this即使文档不再是活动文档,或者您更改了当前目录,也能正常工作)。

bvhaajcl

bvhaajcl3#

如果在同一文件夹中,则

Workbooks.Open("ObsReportExcelWorkbook.xlsx")

Workbooks.Open(".\ObsReportExcelWorkbook.xlsx")

应该可以。我刚刚在Excel VBA中两种都试过了,都成功了。

xxb16uws

xxb16uws4#

工作簿。打开(“D:\数据\莫希特·辛格\msk\data\book1.xlsx”)

xiozqbni

xiozqbni5#

打开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时,这对我来说非常有用。因为不是关闭/最小化工作簿进入资源管理器。我可以专注于项目而不会失去思路。

相关问题