jueves, 9 de julio de 2009

Buscar formato en Word (documentos) desde C#

Una vez visto como buscar texto en el post anterior, ahora vamos a orientar la búsqueda según criterio de formato.

En este caso el algoritmo se plantea diferente:

Del documento (y de los rangos) se puede saber tanto los párrafos como las frases y/o las palabras.

int palabras = oWordDoc.Words.Count;

int frases = oWordDoc.Sentences.Count;

De las palabras y frases, también se puede obtener los rangos:

for(int i = 1; i < frases ; i++)
{
//Asignar al rango esa palabra
inicio = oWordDoc.Sentences[i].Start;
final = oWordDoc.Sentences[i].End;
...}
Para encontrar un formato recorreremos el documento por frases.

En nuestro ejemplo de buscar fondo distinto al por defecto:

if (rngC.HighlightColorIndex != auto){...}

Una vez encontrada la frase, recorrerla por palabras para encontrar sólo las que tengan el fondo, porque lo anterior
de ”true” en el caso que alguna palabra lo dé.

Un ejemplo para seleccionar la 1ªpalabra con fondo sería:

for (int j = 1; j < palabras && primera; j++)
{
if (rngC.Words[j].HighlightColorIndex != auto
{
primera = false;
inicio = rngC.Words[j].Start;
fin = rngC.Words[j].End;
}
}

No hay comentarios:

Publicar un comentario