VBA GetOpenFileName错误

我有一个使用GetOpenFileName()从用户获取Excel文件的macros。

Sub openFile() Dim wb As Workbook, wbName As Variant wbName = Application.GetOpenFilename("Excel Files,*.xl*;*.xm*") If wbName <> False Then Set wb = Workbooks.Open(wbName) End If wb.Close False End Sub 

问题是,macros运行后,我不能移动或重命名包含所选文件的文件夹。 我可以重命名该文件,但不是该文件夹,除非我closures与macros的worbook。 你有什么想法?

GetOpenFilename将“当前”目录更改为对话框中指定的目录。

无法更改当前为Excel应用程序对象的“当前”目录的目录的名称或删除该目录。

尝试以下修复:

 Sub openFile() Dim wb As Workbook, wbName As Variant wbName = Application.GetOpenFilename("Excel Files,*.xl*;*.xm*") If wbName <> False Then Set wb = Workbooks.Open(wbName) wb.Close False End If 'Change "current" directory ChDrive "C" ChDir "C:\" End Sub