Я хотел бы выполнить сценарий оболочки в Excel с VBA. Однако мне нужно использовать кавычки " внутри моей команды. Чтобы выяснить, как я могу избежать кавычек в функции MacScript, я просто пробую это с помощью простой команды, но все время терплю неудачу.
"
MacScript
Итак, вот рабочий пример:
Function HTTPGet2() As String HTTPGet2 = MacScript("do shell script ""echo 'hello' """) End Function
Выход: hello
hello
Но теперь я хочу отобразить he"llo". Оба следующих примера, которые я уже пробовал, потерпели неудачу.
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)
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