最近 Excel 2010 から Excel 2013 にアップグレードした後、カスタム アドイン (.xlam) を新しい Application.LibraryPath ディレクトリ (C:\Program Files\Microsoft Office 15\root\office15\Library\BTRTools) に移動しました。実行可能 (exe) ファイル (アドインのサブディレクトリにある) を起動するコードが少しあります。ただし、アップグレード/移動以来、エラーは発生していません。
PrettyPrintXml.exe - Application Error
The application was unable to start correctly (0xc000007b). Click OK to close the application.
私は明らかに、それがファイルのアクセス許可であるとかなり確信しています。\Library フォルダー (およびすべてのサブフォルダー) に対する完全な権限を持つアクセス許可を明示的に追加しました。Excel 2010 (C:\Program Files (x86)\Microsoft Office\Office14\Library のフォルダー) でも機能させるには、これを行う必要があったことに注意してください。
しかし、このすべての後、私はまだ立ち往生しており、exeファイルを起動できません. これを機能させる方法についてのアイデア/提案はありますか?
コードはかなり標準的です:
Public 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 "Done! No error to report."
Else
MsgBox "Program exited with error code " & errorCode & "."
End If
End Sub