Я использовал метод Chr $ (34), как это:
Sub RunPython()
Dim scriptName As String
Dim stAppName As String
scriptName = ActiveWorkbook.Path & "\aprPlotter.py"
stAppName = "python.exe " & Chr$(34) & scriptName & Chr$(34)
Debug.Print stAppName
Call Shell(stAppName, vbHide)
End Sub
Я использовал тот же путь для питона сценария как книги Excel, чтобы сохранить его проще для пользователей. Я обезумел цитатами за 45 минут, прежде чем нашел эту тему. Когда пути выходят из активных рабочих мест (особенно с пробелами в Windows), я думаю, что это предпочтительный метод. Надеюсь, это поможет кому-то другому.
Возможный дубликат [Escape double quote in VB string] (http://stackoverflow.com/questions/4835691/escape-double-quote-in-vb-string) – GSerg
Это только в источниках VB? Или здесь что-то еще? Очевидный вопрос: почему вы не можете просто набрать это? Можете ли вы предоставить больше контекста - это код, который вам нужен для рефакторинга? Сколько случаев мы говорим здесь? Все переменные объявлены как «Dim a as string»? Какие еще существуют ограничения? –
Возможный дубликат [Escape double quote in VB string] (https://stackoverflow.com/questions/4835691/escape-double-quote-in-vb-string) – DaveInCaz