需要:通过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