vba - 如何获取 8.3 格式的环境变量?
问题描述
我有一个像这样的简单子:
Private Sub Command90_Click()
Dim Perc As String
Perc = Environ("onedrivecommercial")
Perc = "wscript " & Perc & "\DATABA~1\script1.vbs"
Shell Perc
End Sub
在哪里%onedrivecommercial%="C:\Onedrive - Company"
但它给出了错误,因为 wscript 要求路径和文件名采用 8.3 格式,而environ
函数以标准(UNC)格式返回它。有什么建议吗?
解决方案
我是这样解决的。看起来很奇怪,但它有效!
诀窍不是从 Environ 获取 UNC,而是为 wscript 提供 UNC 路径。
如果路径是 UNC 格式,wscript 需要双引号。使用 VBA 会变得有点棘手,但没关系:您只需再次将引号加倍。
Private Sub Command90_Click()
Dim Perc As String
Perc = Environ("onedrivecommercial")
Perc = "wscript """"""" & Perc & "\DATABA~1\script1.vbs"""""""
Shell Perc
End Sub
我以 8.3 格式保留文件夹DATABA~1
,但我也可以以 UNC 方式输入。
推荐阅读
- redirect - 如何在codeigniter中重定向页面
- python - 检查 Django 表单中的值是否相同
- c# - 如何取消正在运行的任务?
- android - 如何为 Google Maps Android API UrlTileProvider 设置 SSL 证书?
- java - 为什么不应直接在应用程序中使用 spring 安全配置?
- python - python - 如何使用openCV在Python图像处理中检测除特定颜色以外的多种颜色?
- java - 复制一个对象来存储旧值会更好吗?
- angular - 角度更新从 5 到 6 个错误
- javascript - 子元素点击也触发父元素 - Reactjs
- php - phpunit:在初始设置后重新定义模拟的行为