Кавычки на VBA MacOS - PullRequest
       67

Кавычки на VBA MacOS

0 голосов
/ 29 апреля 2019

Я хотел бы выполнить сценарий оболочки в Excel с VBA. Однако мне нужно использовать кавычки " внутри моей команды. Чтобы выяснить, как я могу избежать кавычек в функции MacScript, я просто пробую это с помощью простой команды, но все время терплю неудачу.

Итак, вот рабочий пример:

Function HTTPGet2() As String

HTTPGet2 = MacScript("do shell script ""echo 'hello' """)

End Function

Выход: hello

Но теперь я хочу отобразить he"llo". Оба следующих примера, которые я уже пробовал, потерпели неудачу.

Попробуйте 1:

Function HTTPGet2() As String

HTTPGet2 = MacScript("do shell script ""echo 'he""llo""' """)

End Function

Попробуйте 2:

Function HTTPGet2() As String

HTTPGet2 = MacScript("do shell script ""echo 'he"& Chr(34) &"llo"& Chr(34) &"' """)

End Function

Не могли бы вы, ребята, объяснить, почему это не работает и как заставить это работать? Я использую Excel 2019 и MacOs на 10.14.4 (18E226)

В конце я хочу выполнить команду:

xmllint --html -xpath 'string(//*[@id="AssetAllocationLongShortTable1"]/table/tbody/tr[1]/td[1])' http://tools.morningstar.de/de/xray/default.aspx\?LanguageId\=de-DE\&PortfolioType\=2\&SecurityTokenList\=F000000EM3\]2\]0\]ETEXG$XETR\|F00000J8T2\]2\]0\]FODEU$$ALL\&values\=50.00\|50.00\&CurrencyId\=EUR\&from\=editholding

Но это тоже не работает ..:

Function HTTPGet2() As String

    HTTPGet2 = MacScript("do shell script "" xmllint --html -xpath 'string(//*[@id\""AssetAllocationLongShortTable1\""]/table/tbody/tr[1]/td[1])' http://tools.morningstar.de/de/xray/default.aspx\?LanguageId\=de-DE\&PortfolioType\=2\&SecurityTokenList\=F000000EM3\]2\]0\]ETEXG$XETR\|F00000J8T2\]2\]0\]FODEU$$ALL\&values\=50.00\|50.00\&CurrencyId\=EUR\&from\=editholding """)

End Function
...