微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Excel VBA ChDir 不会改变我的目录

如何解决Excel VBA ChDir 不会改变我的目录

我正在尝试让用户文件选择框自动打开一个目录。

一切正常,但我没有打开到正确的目录,我仍然需要点击进入正确的目录。

我的代码如下。

ChDir ("\\file path string")
userFile = Application.GetopenFilename(fileFilter:="csv Files(*.csv),*.csv",Title:="csv Files")
Workbooks.OpenText Filename:=userFile

我还能够让 ChDrive 之类的东西正常工作。该文件位于网络上。

谢谢

解决方法

当我需要将当前目录设置为网络共享时,我会使用它:

Option Explicit

Private Declare Function SetCurrentDirectoryA Lib _
    "kernel32" (ByVal lpPathName As String) As Long

Sub ChDirNet(szPath As String)
    Dim lReturn As Long
    lReturn = SetCurrentDirectoryA(szPath)
    If lReturn = 0 Then Err.Raise vbObjectError + 1,"Error setting path."
End Sub

Sub tester()

    ChDirNet "\\marge\bart\"

End Sub
,

示例代码中缺少一个关键字“PtrSafe”,它可以在 64 位版本的 Office 上运行。代码应该是这样的

Option Explicit

Private Declare PtrSafe Function SetCurrentDirectoryA Lib _
    "kernel32" (ByVal lpPathName As String) As Long

Sub ChDirNet(szPath As String)
    Dim lReturn As Long
    lReturn = SetCurrentDirectoryA(szPath)
    If lReturn = 0 Then Err.Raise vbObjectError + 1,"Error setting path."
End Sub

Sub tester()

    ChDirNet "\\marge\bart\"

End Sub

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。