Excel 打开默认为指定网络路径的对话框(非驱动器)
我正在尝试将“打开”对话框默认分配给网络上的特定文件夹。让我们使用路径:Excel 打开默认为指定网络路径的对话框(非驱动器),excel,vba,Excel,Vba,我正在尝试将“打开”对话框默认分配给网络上的特定文件夹。让我们使用路径: \\test\yes\no\ 下面的代码不起作用,但也不会出错。我不知道我做错了什么 Private Declare Function SetCurrentDirectory _ Lib "kernel32" _ Alias "SetCurrentDirectoryA" ( _ ByVal lpPathName As String) _ As Long SetCurrentDirectory "\\test\yes\n
\\test\yes\no\
下面的代码不起作用,但也不会出错。我不知道我做错了什么
Private Declare Function SetCurrentDirectory _
Lib "kernel32" _
Alias "SetCurrentDirectoryA" ( _
ByVal lpPathName As String) _
As Long
SetCurrentDirectory "\\test\yes\no\"
我见过一些人这样做的方式,但似乎没有什么对我起作用。如果有帮助的话,我正在使用excel 2010
我的目录代码:
With Application.FileDialog(msoFileDialogFolderPicker)
SetCurrentDirectory "\\test\yes\no\"
.AllowMultiSelect = False
If .Show <> -1 Then MsgBox "No folder selected! Exiting script.": Exit Sub
myDir = .SelectedItems(1)
End With
MsgBox "Please choose the folder."
Application.DisplayAlerts = False
'*********************************************************************************************
'Check for .xls cutsheets; open one at a time with a loop until all file data has been copied
'*********************************************************************************************
folderPath = myDir
If Right(folderPath, 1) <> "\" Then folderPath = folderPath + "\"
fileName = Dir(folderPath & "*.xls")
Do While fileName <> ""
Application.ScreenUpdating = False
Set wbkCS = Workbooks.Open(folderPath & fileName)
与Application.FileDialog(msoFileDialogFolderPicker)
SetCurrentDirectory“\\test\yes\no”
.AllowMultiSelect=False
如果.Show-1,则MsgBox“未选择任何文件夹!正在退出脚本。”:Exit Sub
myDir=.SelectedItems(1)
以
MsgBox“请选择文件夹。”
Application.DisplayAlerts=False
'*********************************************************************************************
'检查.xls剪切表;使用循环一次打开一个,直到复制完所有文件数据
'*********************************************************************************************
folderPath=myDir
如果正确(folderPath,1)“\”则folderPath=folderPath+“\”
fileName=Dir(folderPath&“*.xls”)
文件名“”时执行此操作
Application.ScreenUpdating=False
设置wbkCS=Workbooks.Open(文件夹路径和文件名)
我可以使用以下命令打开一个对话框:
Private Declare Function SetCurrentDirectory _
Lib "kernel32" _
Alias "SetCurrentDirectoryA" ( _
ByVal lpPathName As String) _
As Long
Sub OpenDialogInNetworkPath()
SetCurrentDirectory "\\test\yes\no\"
FileToOpen = Application.GetOpenFilename _
(Title:="Please choose a file to import", _
FileFilter:="Excel Files *.xls (*.xls),")
Workbooks.Open Filename:=FileToOpen
End Sub
这有用吗?您能发布完整的宏吗?我无法使用
应用程序.FileDialog
和设置当前目录来运行宏。但是,使用InitialFileName
属性并将其设置为“\\test\yes\no\”
(即仅指定路径)确实有效
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = "\\test\yes\no\"
.AllowMultiSelect = False
If .Show <> -1 Then MsgBox "No folder selected! Exiting script.": Exit Sub
myDir = .SelectedItems(1)
End With
与Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName=“\\test\yes\no\”
.AllowMultiSelect=False
如果.Show-1,则MsgBox“未选择任何文件夹!正在退出脚本。”:Exit Sub
myDir=.SelectedItems(1)
以
32位还是64位office?我也很奇怪,但是它是32位的。所以您确实获得了“打开文件”对话框,但文件夹不是SetCurrentDirectory指定的文件夹?@Kim,这是正确的。这是我上次打开的目录。SetCurrentDirectory
在Office 2003和Office 2013上对我有效,只要共享存在。还有一个细节,我将发布代码。我让脚本在文件夹中的所有文件中循环,但我不知道这会对目录块产生怎样的影响?好吧,那么它现在突然开始工作了?这里发生了一些奇怪的事情,因为我遇到了映射驱动器的UNC问题。所以,我今天就到此为止,把这件事记下来。谢谢你的帮助!我很乐意帮忙。我忍不住注意到你接受了它,然后又不接受它。这个问题有没有答案?我很乐意继续帮忙。谢谢。。。哇,我今天充满了失败。事实上,正是Kim在下面的建议让我开始工作。我不知道为什么这么简单,但在测试了多种打开方式后,它就可以工作了。哈哈哈,没问题,我很高兴至少有人能为你工作!祝你余下的项目好运。有空我会试试这个金姆;它仍然不能正常工作。