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 网络路径中打开另存为对话框。

有人可以请教吗?

任何帮助将不胜感激!

非常感谢。

【问题讨论】:

您的问题与networkingdirectory 无关。它与使用GetSaveAsFilename 有关。请edit 删除不适用的标签并为您使用的语言添加一个(VBA?);如果您正确标记它,它将大大提高您获得帮助的机会。在随机添加那些听起来很熟悉的标签之前,请阅读标签的描述——标签在这里有特定的含义。 您可以尝试将路径映射到驱动器号。 不幸的是,我试图避免映射到驱动器并使用 ChDr 功能,所以这不是一个解决方案......我试图弄清楚为什么我的网络路径没有解析。 【参考方案1】:

一些备注:

调用前无需更改目录 我刚刚做了一些 测试和GetSaveAsFilename 当你通过一个有效的 UNC 表示法的文件夹或文件。 我怀疑您的 网络路径无效。你确定网络路径是 正确(你能用这个路径打开资源管理器吗)?

【讨论】:

有趣的是,GetSaveAsFilename 在我的 PC 上打开了正确的网络路径,但转到了我用户 PC 上的我的文档。但他们可以在 Windows 资源管理器中手动打开/访问路径...

以上是关于GetSaveAsFilename() 总是在我的文档中打开的主要内容,如果未能解决你的问题,请参考以下文章

GetSaveAsFilename 默认文件夹

VBA excel Application.getsaveasfilename 错误 13

为啥总是在我的代码中显示语法错误?

为啥我的“允许位置访问”在我打开时总是关闭?

为啥电子邮件验证总是在我的应用程序中出错? [复制]

为啥 BluetoothManager.OpenGattServer() 在我的 Nexus 7 上总是返回 null?