Nach dem kürzlichen Upgrade von Excel 2010 auf Excel 2013 habe ich ein benutzerdefiniertes Add-In (.xlam) in das Verzeichnis Application.LibraryPath (C:\Program Files\Microsoft Office 15\root\office15\Library\BTRTools) verschoben. Es gibt ein bisschen Code, der eine ausführbare Datei (exe) startet (die sich im Unterverzeichnis des Add-Ins befindet). Seit dem Upgrade/Umzug erhalte ich jedoch einen Fehler:
PrettyPrintXml.exe - Anwendungsfehler
Die Anwendung konnte nicht korrekt gestartet werden (0xc000007b). Klicken Sie auf OK, um die Anwendung zu schließen.
Ich bin mir ziemlich sicher, dass es an den Dateiberechtigungen liegt. Ich habe mir explizit Berechtigungen mit vollen Rechten für den \Library-Ordner (und alle Unterordner) hinzugefügt. Beachten Sie, dass ich dies selbst mit Excel 2010 (Ordner unter C:\Program Files (x86)\Microsoft Office\Office14\Library) tun musste, um alles zum Laufen zu bringen.
Trotz all dem stecke ich immer noch fest und kann die exe-Datei nicht starten. Irgendwelche Ideen/Vorschläge, wie das funktionieren könnte?
Der Code ist ziemlich standard:
Öffentliche Sub RunShellExecute(sFile As String, Optional params As String = "", Optional wait As Boolean = False)
Dim wsh As Object: Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = wait
Dim windowStyle As Integer: windowStyle = 1
Dim exe As String: exe = IIf(Left(sFile, 1) <> """", """" & sFile & """", sFile)
Dim exeParams As String: exeParams = IIf(params <> "", " " & params, "")
Dim errorCode As Integer: errorCode = wsh.Run(exe & exeParams, windowStyle, waitOnReturn)
If errorCode = 0 Then
'// MsgBox "Erledigt! Kein Fehler zu melden."
Else
MsgBox "Programm wurde mit Fehlercode " & errorCode & " beendet."
End If
End Sub