Excel VBA ChDir 不会更改我的目录

问题描述 投票:0回答:3

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

一切正常,但我仍然必须单击正确的目录,而不是打开到正确的目录。

我的代码如下。

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

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

谢谢你

excel vba chdir
3个回答
2
投票

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

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

2
投票

示例代码中缺少关键字“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

0
投票

2024年给出答案!这正是我一直在寻找的。谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.