簡體   English   中英

打開文件而不調用文件路徑

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM