首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA GetOpenFileName误差

VBA GetOpenFileName误差
EN

Stack Overflow用户
提问于 2017-05-12 18:32:58
回答 1查看 2.5K关注 0票数 1

我有一个宏,它使用GetOpenFileName()从用户那里获取excel文件。

代码语言:javascript
复制
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。你有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-12 18:54:57

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

不可能更改或删除当前Excel应用程序对象的“当前”目录的目录名。

尝试以下修复方法:

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43944421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档