2017-04-25 189 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