excel - 确定用户是否有 OneDrive 并相应地更改文件路径
问题描述
我有以下内容VBAs
可以将 Excel 工作簿保存在用户的桌面上。
如果用户没有 ,则使用第一个OneDrive
。
如果用户有,则使用第二个OneDrive
。
Sub Without_OneDrive()
ActiveWorkbook.SaveCopyAs "C:\Users\firstname.lastname\Desktop\Test.xlsm"
End Sub
Sub With_OneDrive()
ActiveWorkbook.SaveCopyAs "C:\Users\firstname.lastname\OneDrive - limango.com\Desktop\Test.xlsm"
End Sub
这一切都很好。
但是,现在我遇到了一些用户有OneDrive
而其他用户没有的情况。
因此,我想知道是否有解决方案来确定用户是否有OneDrive
,然后决定file path
应该使用哪个。像这样的东西:
Sub SaveWorkbook()
If OneDrive exist then
ActiveWorkbook.SaveCopyAs "C:\Users\firstname.lastname\OneDrive - limango.com\Desktop\Test.xlsm"
Else
ActiveWorkbook.SaveCopyAs "C:\Users\firstname.lastname\Desktop\Test.xlsm"
End If
End Sub
解决方案
这可以使用Dir
VBA 函数来完成,您可以在以下源代码摘录中看到:
Public Function DirExists() as Boolean
Dim DirName As String
DirName = VBA.FileSystem.Dir("C:\Users\firstname.lastname\OneDrive - limango.com", vbDirectory)
If DirName = VBA.Constants.vbNullString Then
DirExists = False
Else
DirExists = True
End If
End Sub
供您参考,我从这个 URL获得了这段代码。
推荐阅读
- reactjs - 使用多个文本和图像文件获取 FormData 方法
- javascript - React:如果 .map 方法的输出匹配某个值,如何渲染某个组件
- python - 在对象检测 api 中获取 neam_classes
- javascript - 有人可以帮我编写此功能的代码吗?
- python - 如何在python中将ML分类报告和混淆矩阵图导出为xlsx和pdf文件
- c++ - 当原始数据是指针时,用指针传递参数还是用引用传递参数?
- node.js - NodeJS 服务器端 api 调用
- python - 如何通过Vaex计算几列的最大值?
- flutter - 在 Flutter 中如何处理 passcode_screen 的广播标志
- python - 如何将网络抓取数据连接到数据库?