VBA启动-停止Onedrive Sync客户端



需要:通过VBA 启动或停止Onedrive同步客户端

原因:在Onedrive同步客户端运行时,运行一个循环文件并进行一些更改的过程导致Excel崩溃

找不到更多的"优雅的";方法,但它工作

如果您使用的是32位版本的,请调整程序文件文件夹

' Credits: https://stackoverflow.com/questions/49652606/wscript-shell-to-run-a-script-with-spaces-in-path-and-arguments-from-vba
Private Sub ManageOnedriveSync(ByVal action As Integer)
Dim shell As Object
Set shell = VBA.CreateObject("WScript.Shell")
Dim waitTillComplete As Boolean: waitTillComplete = False
Dim style As Integer: style = 1
Dim errorcode As Integer
Dim path As String

Dim commandAction As String
Select Case action
Case 1
commandAction = "/shutdown"
End Select
path = Chr(34) & "%programfiles%Microsoft OneDriveOnedrive.exe" & Chr(34) & " " & commandAction
errorcode = shell.Run(path, style, waitTillComplete)
End Sub

停机:

ManageOnedriveSync 1

开始:

ManageOnedriveSync 0

最新更新