Прямого пути нет, но с небольшим количеством кода вы можете заставить Excel обрабатывать параметры командной строки и открывать его из электронной таблицы запуска.
Используя ярлык, который выглядит так:
"C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" /e/myfilename/mypassword "C:\MyExcelFiles\test.xlsb"
Вы можете использовать следующий код для получения командной строки - вам нужно будет извлечь параметры, которые вы передали с /e, так как вся строка возвращается
Declare Function StrLenA Lib "kernel32.dll" Alias "lstrlenA" (ByVal Ptr As Long) As Long
Declare Function GetCommandLineA Lib "kernel32.dll" () As Long
Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef pDst As Any, pSrc As Any, ByVal ByteLen As Long)
Function GetCommandLine() As String
Dim CmdStr As Long
Dim N As Long
Dim Buffer As String
CmdStr = GetCommandLineA 'Get a pointer to a string, which contains the command line
N = StrLenA(CmdStr) 'Get the length of that string
Buffer = String(N, Chr$(0)) 'Create a buffer
CopyMemory ByVal Buffer, ByVal CmdStr, N 'Copy to the buffer
GetCommandLine = Buffer
End Function