Я не использовал команду FolderPath, ее, похоже, не используют для меня, поэтому я буду исследовать позже, почему бы и нет. Ниже приведен пример кода, который я тестировал, чтобы убедиться, что можно запустить .sh-файл из OSX Excel.
.sh файл я использовал для тестирования был сделан на моем рабочем столе и содержит только следующую строку: «открытая /Applications/Calculator.app»
Код VBA для вызова .sh из Excel на OSX является ниже:
Dim DesktopFolder As String
DesktopFolder = MacScript("return (path to desktop folder) as string")
Dim ScriptFile As String
ScriptFile = DesktopFolder & "test.sh"
RetVal = Shell(ScriptFile, vbNormalFocus)
я решил проверить, если его только функционал на определенных папках, так что я переехал .sh файл в папку/TMP и не может выполнить файл, просто был «файл не найден ошибок» независимо от того, как Я закодировал путь. Наконец, понял, что файл/tmp на OSX является символической ссылкой, которая отображается в/private/tmp, и когда я использовал этот путь, все это, похоже, снова работает отлично.
Dim ScriptFile As String
ScriptFile = "Macintosh HD:private:tmp:test.sh"
RetVal = Shell(ScriptFile, vbNormalFocus)
В любом случае, надеюсь, что это поможет. Я буду продолжать искать лучший способ, нужно что-то, чтобы динамически находить, что местоположение файла надежно.
Помогает ли этот вопрос http://stackoverflow.com/questions/6136798/vba-shell-function-in-office-2011-for-mac –
Вам не нужно включать символ «\» между местоположением и имя сценария? Удачи. – shellter
Команде «Шелл» требуется разделение «:», хотя это не проблема. Я пробовал простой вызов Shell с полностью определенным путем, указывающим на файл оболочки bash с режимом 755, в том же каталоге, что и книга Excel, и я всегда получаю отказ в разрешении на отказ. Это похоже на довольно легкую вещь, но я не могу заставить ее работать. –