我有一个宏,它使用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)
End If
wb.Close False
End Sub
问题是在宏运行后我无法移动或重命名包含所选文件的文件夹。除非我用宏关闭worbook,否则我可以重命名文件而不是文件夹。 你有什么想法吗?
答案 0 :(得分:1)
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