2011-12-20 30 views
7

Ejemplo:Cómo agregar comillas dobles en una cadena literal código

Dim a As String 
a = 1234,5678,9123 

Quiero añadir comillas dobles literales a la variable a

Resultados previstos:

a = "1234,5678,9123" 

Cómo hacer yo formatee la cadena para que cuando lo imprima, tenga comillas dobles a su alrededor?

+0

posible duplicado de [comillas dobles de escape en cadena VB] (http://stackoverflow.com/questions/4835691/escape-double-quote-in-vb-string) – GSerg

+0

¿ES esto solo en las fuentes de VB? ¿O hay algo más aquí? La pregunta obvia es por qué no puedes simplemente escribir esto? ¿Puedes proporcionar más contexto? ¿Es este el código que necesitas para refactorizar? ¿De cuántas veces estamos hablando aquí también? ¿Se declaran todas las variables como "Dim a como cadena"? ¿Qué otras restricciones hay? –

+1

Posible duplicado de [Escape double quote en cadena VB] (https://stackoverflow.com/questions/4835691/escape-double-quote-in-vb-string) – DaveInCaz

Respuesta

22

Si desea incluir " en una cadena, la oferta "" donde desea que aparezca la cita. Por lo que su ejemplo debería leer ...

a = """1234,5678,9123""" 
6
a = """1234,5678,9123""" 

o

a= """" & a & """" 
+0

@MattWilko Sí si se escribe 'a' como una cuerda según el OP. Sin embargo, si usan una variable numérica o literal, el '+' debe ser '&', o el valor pasado a 'CStr()'. – Deanna

+0

@MattWilko Lo siento :) He actualizado la respuesta para usar '&' de todos modos. – Deanna

14

Las respuestas actuales son correctos y válidos, pero a veces la siguiente puede mejorar la legibilidad:

a = Chr$(34) & "1234,5678,9123" & Chr$(34) 
+1

No voté, ¡pero eso NO es más fácil de leer! ¿Se espera que todos los desarrolladores conozcan todo el conjunto de códigos de caracteres ASCII? Crea una constante y asígnale ese valor; entonces, simplemente use la constante – UnhandledExcepSean

+3

Bueno, solo dije * puedo * - solo para dar otra opción al OP.Y no dije que esta era la mejor práctica. Puede encontrar el conjunto de caracteres ASCII [aquí] (http://www.asciitable.com/) - entonces no tiene que recordarlo. –

+3

+1 Veo Chr (34) por todos lados, no estoy seguro de cuál es el problema. – JimmyPena

-2

que utiliza el método de (34), Chr $ como esto:

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 

que estaba usando el mismo camino para el script en Python, como el libro de Excel, para mantener más fácil para los usuarios. Me monkeé con las comillas durante 45 minutos antes de encontrar este hilo. Cuando las rutas provienen de ubicaciones de trabajo activas (especialmente las que tienen espacios en Windows), creo que este es un método preferido. Con suerte, esto ayudará a alguien más.

7

Para hacer Chr $ (34) más legible:

Dim quote as string 
quote = Chr$(34) 
a = quote & "1234,5678,9123" & quote 

Esto hace que sea más fácil obtener el número correcto de "símbolos en todas partes y se puede leer

0


No hay necesidad de añadir ningún tipo de. funciones complicadas sólo tiene que utilizar siguiente ejemplo para insertar doble en cuadro de texto o cuadro de texto enriquecido.

Dim dquot="""" 
TextBox1.AppendText("Hello " &dquot &"How are you ?" &quot) 

o

Dim dquot="""" 
RichTextBox1.AppendText("Hello " &dquot &"How are you ?" &quot) 
Cuestiones relacionadas