GetSaveAsFilename() 总是在我的文档中打开
Posted
技术标签:
【中文标题】GetSaveAsFilename() 总是在我的文档中打开【英文标题】:GetSaveAsFilename() ALWAYS opens in My Documents 【发布时间】:2017-08-23 00:43:03 【问题描述】:我在获取 GetSaveAsFileName() 函数以在网络驱动器中打开“保存”对话框而不是始终在我的文档中打开时遇到问题。 基本上,我已经实现了一种解决方法,通过以下方式更改网络驱动器的路径:
我的工作模块顶部:
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
在我的 SaveAs() 模块中,以下代码:
ChDirNet "\\test\input"
xFileName = Application.GetSaveAsFilename("\\test\input\filename.xls")
但是,我仍然无法在 \test\input 网络路径中打开另存为对话框。
有人可以请教吗?
任何帮助将不胜感激!
非常感谢。
【问题讨论】:
您的问题与networking 或directory 无关。它与使用GetSaveAsFilename
有关。请edit 删除不适用的标签并为您使用的语言添加一个(VBA?);如果您正确标记它,它将大大提高您获得帮助的机会。在随机添加那些听起来很熟悉的标签之前,请阅读标签的描述——标签在这里有特定的含义。
您可以尝试将路径映射到驱动器号。
不幸的是,我试图避免映射到驱动器并使用 ChDr 功能,所以这不是一个解决方案......我试图弄清楚为什么我的网络路径没有解析。
【参考方案1】:
一些备注:
调用前无需更改目录 我刚刚做了一些 测试和GetSaveAsFilename
当你通过一个有效的
UNC 表示法的文件夹或文件。
我怀疑您的
网络路径无效。你确定网络路径是
正确(你能用这个路径打开资源管理器吗)?
【讨论】:
有趣的是,GetSaveAsFilename 在我的 PC 上打开了正确的网络路径,但转到了我用户 PC 上的我的文档。但他们可以在 Windows 资源管理器中手动打开/访问路径...以上是关于GetSaveAsFilename() 总是在我的文档中打开的主要内容,如果未能解决你的问题,请参考以下文章
VBA excel Application.getsaveasfilename 错误 13
为啥 BluetoothManager.OpenGattServer() 在我的 Nexus 7 上总是返回 null?