2 votos

¿Qué es esta marca de párrafo misteriosa en Microsoft Word que no se puede copiar?

En Microsoft Word 2013 en Windows 7, sigo encontrando con una extraña marca de párrafo que no se puede copiar y pegar correctamente, lo que provoca todo tipo de problemas. Por desgracia, no sé cómo producir este misterio marca de párrafo, pero aquí es un archivo que lo contiene: el Misterio de marca de párrafo que no puede ser copied.docx.zip (un archivo DOCX con cremallera de nuevo para una mayor precisión).

El misterio de marca de párrafo se muestra como una normal pilcrow (¶) cuando hago Microsoft Word mostrar todos los caracteres no imprimibles – exactamente igual que regular las marcas de párrafo. Sin embargo, se comporta de forma extraña:

  • Cuando yo seleccione todo el texto y copiar-pegar para, por ejemplo, el Bloc de notas, luego es reemplazado por un simple carácter de espacio.
  • El misterio de marca de párrafo puede ocurrir en DOCX o archivos DOC. Cuando me guarde el archivo como RTF y abrirlo con MS Word, tengo un carácter de espacio en lugar. Cuando me guarde el archivo como TXT, se convierte en un salto de línea.
  • Cuando yo uso el MS Word del cuadro de diálogo Reemplazar para reemplazar todas las marcas de párrafo ("^p") por algo más, entonces el misterio de las marcas de párrafo no serán reemplazados. De esta manera, se asemejan a la obligatoria marca de párrafo al final de cualquier archivo de MS Word.
  • Cuando abro el archivo con otras aplicaciones, la mayoría de convertir el misterio de marca de párrafo en nada en absoluto; por ejemplo, de Apple TextEdit.aplicación o de la edad de Microsoft Office Word Viewer:

    TextEdit screenshot

    Pero algunos se convierten en una normal newline; por ejemplo, LibreOffice:

    LibreOffice screenshot

¿Qué es este misterio marca de párrafo? ¿Cómo se puede prevenir?

5voto

bibadia Puntos 2354

Mirando a su muestra .docx, el "misterio de la marca de párrafo" es representado por un <w:cr/> elemento, el cual es descrito en la ISO estándar OOXML (por ejemplo, ISO29500-2012 Parte 1) en la sección 17.3.3.4 como cr(Retorno de Carro).

El resumen de la descripción en El "comportamiento de un retorno de carro en ejecutar contenido será idéntico a un carácter de salto con null tipo y borrar atributos, los cuales deberán final de la línea actual y buscar la siguiente línea disponible para continuar."

En otras palabras, se supone que se comportan como un duro de avance de línea (y de hecho no se llega a la normal de espaciado de párrafo después de la marca), pero la Palabra evidentemente la muestra en la misma manera como una marca de párrafo. Normalmente, las marcas de párrafo se muestra al final de un Párrafo) elemento, y tal vez en algunos otros casos.

Una pregunta es cómo conseguir un <w:cr/> en el documento. Espero que existen varias formas, pero de una manera que sin duda puede hacer es utilizar Buscar y Reemplazar para reemplazar un carácter "^13" (con el comodín de la opción desactivada).

Deshacerse de ellos no es fácil, porque si intenta reemplazar ^13 por algo, Word reemplaza todas las marcas de párrafo. Si usted copiar/pegar un misterio marca de párrafo en el cuadro "Buscar", Palabra que sustituye a todos los espacios. Incluso en VBA parece que aparecen como "13", los personajes que no son fáciles de distinguir de la normal de marca de párrafo caracteres.

Sin embargo, como una realidad cruda primer disparo a una solución, el siguiente VBA parece funcionar en las versiones más recientes de Windows Word:

Sub replaceCRinDocBody
' Replaces paragraph marks that correspond to <w:cr/> Elements 
' by a normal paragraph mark
' This only processes the document body, not headers/footers.
Dim l as Long
With ActiveDocument.Content.Characters
  For l = 1 to .Count
    If AscW(.Item(l)) = 13 Then
      If Instr(1,.Item.WordOpenXML,"<w:cr/>") > 0 Then
        .Item(l).Text = vbCr
      End If
    End If
  Next
End With
End Sub

4voto

Blerg Puntos 307

Creo que mi corazonada era correcta, el problema de los caracteres que están viendo parece ser un *nix estilo de salto de línea (código ASCII: 0D) o la versión para Apple, (código ASCII: 0A), mientras que Windows utiliza normalmente un combinado nueva línea de codificación, (códigos ASCII: 0D 0A). Puedo recrear el problema mediante la creación de un archivo de texto y de editar manualmente los valores hexadecimales de los archivos para que me dé los *nix saltos de línea. Abrir el archivo de texto en Word muestra los saltos de línea como se esperaba y el intento de copia de ellos en el Bloc de notas(++) muestra como los espacios. Incluso he copiado en el archivo que has publicado y grabado, cerrado Palabra, abrió de nuevo y traté de copiar y pegar el texto, los mismos resultados. Otros programas que fueron escritos para ser portátil, (LibreOffice, OpenOffice, probablemente otros), tienen la capacidad para usar los diferentes tipos de caracteres de nueva línea, que es más probable de por qué no están afectados por este problema.

Con el fin de deshacerse de ellos, usted probablemente tendrá que utilizar OpenOffice o LibreOffice y utilizar una expresión regular para buscar en ellos; sin embargo no se guarda como el valor hex 0D, así que no estoy seguro de qué valor debe utilizar para buscar los caracteres.

-2voto

user2676140 Puntos 288

El carácter especial de marcos es el Marcador de Sangría de Párrafo en Word. Para eliminarlo, se establece su versión de word para no mostrar formato. La forma de hacerlo es:

1) haga Clic en el Botón de Microsoft Office de la Oficina de imagen del botón y , a continuación, haga clic en Opciones de Word.

2) Haga Clic En Mostrar.

3) en Virtud de mostrar Siempre estas marcas de formato en la pantalla, desactive las casillas de las marcas de formato que usted no desea mostrar en sus documentos en todo momento.

MSDN Enlace para más si es necesario

https://support.office.com/en-us/article/Show-or-hide-formatting-marks-c0460106-19d3-4441-986c-b655bffe6be4

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: