Я никогда не был большим поклонником нескольких кавычек, появляющихся в моем коде, хотя это определенно работающее решение.
Что я предпочитаю делать, чтобы сделать мой код (для меня) более читабельным, так это использовать chr (34) (ASCII-версия кавычки), когда я добавляю кавычки, предназначенные для окружения имени файла или другой строки, которая должен быть заключен в кавычки. Это больше печатать, но для меня это позволяет избежать потенциальной путаницы, которую может вызвать строка типа "" "x y" "" z 1 2 "" ".
Для примера, используемого OP, это будет выглядеть так:
ReturnCode = WshShell.Run(chr(34) & "C:\Program Files\Virtutech\Simics 4.2\Simics 4.2.9\x86-win32\bin\simics.exe" & chr(34), 0, True)
Причина, по которой мне это нравится, может быть немного яснее, когда дело доходит до пути, где вы добавляете аргументы командной строки. Например, когда вы смотрите на это:
"""C:\Program Files\Some Vendor\Application\program.exe"" -file ""data file.txt"""
Довольно сложно понять, что это за цитаты, и понять, что за кавычки.
Сравните это с:
chr(34) & "C:\Program Files\Some Vendor\Application\program.exe" & chr(34) & _
" -file" & chr(34) & "data file.txt" & chr(34)
На мой взгляд, chr (34) позволяет легко визуально различать кавычки, являющиеся частью определения строки (например, «data file.txt»), и те, которые необходимы Windows для понимания пути. / имя файла правильно (которое показано как chr (34) в примере).
Если вы последовательны в использовании chr (34) для обозначения «это кавычка, которая мне нужна для того, чтобы Windows поняла следующий элемент в коде», и обычной кавычки, чтобы указать начало и конец строковое значение, это может даже сделать проблемы отладки немного проще.
Но в конечном итоге каждый человек должен делать то, что ему выгодно. Мой подход требует больше ввода и может сбить с толку тех, кто не знает, что такое chr (). Другой требует меньше печатания, но требует, чтобы вы сделали немного больше умственного анализа строки. Ни один из них не является правильным или неправильным.