2017-04-25 139 views
1

我想在使用VBA的excel文件的文件夾中打開excel文件。我指示我的代碼讓最終用戶直接訪問該文件夾,並允許他從對話框中選擇文件。但是,即使從對話框中選擇文件,我也無法打開文件。VBA打開Excel文件

我對這個問題的理解是 - 我錯過了選擇命令後打開文件的命令。

這裏是我的代碼,

thisYear = Year(Date) 


'change the display name of the open file dialog 
    Application.FileDialog(msoFileDialogOpen).Title = _ 
    "Select Input Report" 

'Remove all other filters 
Application.FileDialog(msoFileDialogOpen).Filters.Clear 

'Add a custom filter 
Call Application.FileDialog(msoFileDialogOpen).Filters.Add(_ 
    "Excel Files Only", "*.xls*") 

    'Select the start folder 
    Application.FileDialog(msoFileDialogOpen _ 
    ).InitialFileName = "\\driveA\Reports\" & thisYear & "" 

敬請分享您的想法。謝謝。

+2

[This](https://msdn.microsoft.com/en-us/library/office/ff836226.aspx)會讓你開始 – Kyle

+0

@Kyle我可以從對話框中選擇文件,但仍然是文件不會被打開。我想知道是否有單獨的命令或一行代碼來打開我從對話框中選擇的文件。 – Sid29

+0

您是否閱讀過鏈接並查看相關示例?它向您展示瞭如何提取所選文件的路徑,然後您可以簡單地在該路徑中使用'Workbooks.Open()'。 – Kyle

回答

1

我假設你只允許選擇一個文件(即AllowMultiSelect = False)。

Dim file As String 
Dim myWbk As Workbook  

file = Application.FileDialog(msoFileDialogOpen).SelectedItems(1) 

Set myWbk = Workbooks.Open(file) 

第一行獲取所選文件的路徑,然後第二行打開它。將此添加到代碼的末尾。

+0

是的,謝謝@Masoud。我只想打開一個文件。 – Sid29