确定用户是否有 OneDrive 并相应地更改文件路径
Identify if user has OneDrive and change file path accordingly
我有以下 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
为了您的信息,我从 this URL 获得了这段代码。
我有以下 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
为了您的信息,我从 this URL 获得了这段代码。