Excel 确定用户是否有OneDrive并相应地更改文件路径
我使用以下Excel 确定用户是否有OneDrive并相应地更改文件路径,excel,vba,windows-10,office365,onedrive,Excel,Vba,Windows 10,Office365,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.lastnam
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
,然后决定应该使用哪个文件路径
。大概是这样的:
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
供您参考,我从中获得了这段代码。我在我的计算机上进行了尝试。我确实有OneDrive,所以路径必须存在,但代码找不到它。@Michi:你说得对:我忘了放
,vbDirectory
。我已经修改了我的代码,现在应该可以工作了。