excel - 将工作目录从 VBA 更改为 UNC
问题描述
有没有办法使用 UNC 名称更改 Excel 的工作目录?
这:从 Excel vba shell 更改工作目录解释了如何使用 ChDir / ChDrive。但是,对于 UNC 链接,没有“驱动器”† 这样的东西。
以下幼稚代码不会更改 CurDir:
ChDir "\\testserver\longunc\directory"
Debug.Print CurDir()
C:\Documents\ZZZ
以下显然失败了:
ChDrive "\\testserver\longunc\directory"
Run-time error '5': Invalid procedure call or argument
† “驱动器”?..在2019年改变“驱动器”?..这多么愚蠢!为什么这个概念仍然存在,微软?
解决方案
您可以使用SetCurrentDirectory函数。
导入到 VBA:
Private Declare Function SetCurrentDirectoryA Lib "kernel32" (ByVal lpPathName As String) As Long
推荐阅读
- amazon-web-services - SageMaker RCF 数据
- javascript - 在转换流/打字稿后保留类型检查
- typo3 - TYPO3 Route Enhancers:将“routeFieldName”转换为小写?
- java - 如何在 Spring MVC 中代理/镜像 Websocket 连接 url?
- python - 使用 pip 在 django 中安装错误
- javascript - .map 对象标题数组到基于票数的新数组
- python - 按列表过滤一列字符串而不进行完全匹配
- java - 为多个文件实现 Microsoft.CognitiveServices.Speech 识别
- c# - 如何通过 NuGet 包共享源代码以用于 .NET Core 项目
- sql - 在 SQL 中转置许多聚合