cotizaciones que se escapan en VB6 o cadenas de VBScript es simple en teoría aunque a menudo aterradora cuando se ve. Usted escapa de una comilla doble con otra comilla doble.
Un ejemplo:
"c: \ Archivos de programa \ mi aplicación \ app.exe"
Si quiero escapar de las comillas dobles por lo que podía pasar esto a la cáscara de ejecutar la función que aparece por Joe o la función VB6 Shell lo escribiría:
escapedString = """c:\program files\my app\app.exe"""
¿Cómo funciona esto? La primera y la última cita envuelven la cadena y le permiten a VB saber que es una cadena. Luego, cada cita que se muestra literalmente en la cadena tiene otra comilla doble añadida al frente para escapar de ella.
Se vuelve más loco cuando intentas pasar una cadena con varias secciones citadas. Recuerde, cada cita que quiera pasar debe ser escapada.
Si quiero pasar estas dos frases citadas como una sola cadena separada por un espacio (que no es poco común):
"c: \ Archivos de programa \ mi aplicación \ app.exe" "c: \ Documents and Settings \ Steve"
que entraría en esto:
escapedQuoteHell = """c:\program files\my app\app.exe"" ""c:\documents and settings\steve"""
he ayudado a mis administradores de sistemas con algunos VBScripts que han tenido incluso más citas.
No es bonito, pero así es como funciona.
Simplemente curioso: ¿Por qué estás usando VB6? ¿No ha sido reemplazado ese idioma en todas partes por ahora? – Olhovsky
@Kdoto: Eso es lo que Microsoft quiere que creas. Primero invirtieron fuertemente en demonizar el lenguaje, luego dejaron de hablar a las masas sucias. – wqw
@kdoto @wqw Microsoft [dijo en septiembre de 2009] (http://channel9.msdn.com/posts/funkyonex/What-is-Microsofts-Visual-Basic-6-Support-Strategy) todavía había varios * millones * personas que usan VB6, así que tal vez no sea tan sorprendente. Muchas personas tienen muchos códigos VB6 "heredados" y Microsoft no proporcionó una ruta de actualización decente. – MarkJ