Buscar comillas dobles en una cadena

Tengo un problema y es que intento buscar el carácter >>>"<<< (comillas dobles) dentro de una cadena de texto.
Uso lo siguiente:
Com2InChar = InStr(p_inicio, p_cadena, """")
Pero siempre me retorna 0 ¿?
He probado con la función InStrB y también he probado a cambiar el argumento "Compare" y poner todos sus valores posibles (vbBinaryCompare y vbTextCompare) y nada.
Por último he probado también con:
Com2InChar = InStr(p_inicio, p_cadena, "\""")
Por aquello que el carácter "\" es el de escape cuando se hacen búsquedas con el método Find. Pero tampoco encuentra nada. :-(
El código está en un módulo VBA de una plantilla .dot del Word.
Tengo una solución y sería recorrer la cadena de texto y hacer comparaciones carácter-carácter pero no me gusta la idea. De hecho, es la solución que he puesto por ahora.

1 Respuesta

Respuesta
1
Para tu tranquilidad tu rutina está bien, solo que Word y el Editor no tienen las mismas comillas. (Además se ven diferentes, ¿verdad?)
Te explico: coloqué esta función con el argumento que te falta:
Com2InChar = InStr(p_inicio, p_cadena, """", vbTextCompare) en el Editor
Dejando las comillas que tiene ahora el Word no las encuentra pero es porque está activada la opción de Reemplazar Comillas dobles por Comillas tipográficas, en el menú Herramientas, Autocorrección, Autoformato mientras escribe.
Luego de que desactives esa opción, deberás copiar las comillas "viejas" o sea las tipográficas, ir por Edición buscar, pegarlas en el cuadro de Buscar y en Reemplazar las escribís (que ahora son rectas) y así reemplazás todo y la rutina ya te devolverá el resultado correcto.
Saludos
¿Podrías finalizar la consulta y liberar un poco mi casilla de pendientes?
Sé lo que es esperar a que te finalicen una pregunta y que no lo hagan, pues soy experto en otra sección (delphi y oracle) así que más motivo para pedirte disculpas por mi tardanza. Por otro lado, llegué a la misma conclusión que muy acertadamente me indicas aunque, afortunadamente para mi macro, en situaciones reales (no de prueba que era cuando fallaba) el Word no contenía nunca las comillas tipográficas ni el texto era introducido a mano sino que es incluido en el texto mediante combinación de documentos a partir de texto plano. En fin, llegué a la mejor solución posible: no hacer nada, ya que mi rutina era correcta ;-)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas