Alguien que haya usado word desde c#

19/02/2005 - 20:00 por Javier | Informe spam
Tengo una aplicacion c# la cual inserta texto en un archivo word en donde
tengo marcadores(bookmarks) puestos.
El problema que tengo es que al insertar texto me corre el texto siguiente
la cantidad de espacios como el tamanio del texto insertado.
Tenes idea de como solucionar esto?
Este es un fragmento de codigo de mi aplicacion.
for (int i = 1; i <= doc.Bookmarks.Count; i++)

{

object objI = i;

string bookName = doc.Bookmarks.Item(ref objI).Name;

Word.Range rng = doc.Bookmarks.Item(ref objI).Range;

i++;

object objIEnd = i;

Word.Range rngEnd = doc.Bookmarks.Item(ref objIEnd).Range;

rng.Text = "";

object objIEnd2 = i + 1;

Word.Range rngEnd2 = doc.Bookmarks.Item(ref objIEnd).Range;

foreach (TextBox tb in textBoxes)

{

if (tb.Name == bookName)

{

object start = Word.WdCollapseDirection.wdCollapseStart;


rng.End = rngEnd.Start - tb.Text.Trim().Length;

rng.Collapse(ref start);

rng.Select();

rng.Text = tb.Text.Trim();

break;

}

}



Gracias Javier.
 

Leer las respuestas

#1 Octavio Hernandez
19/02/2005 - 20:36 | Informe spam
Javier,

¿Qué quieres, que lo que escribes sobreescriba a los espacios que has dejado
de antemano?
Yo personalmente siempre he usado la otra alternativa, no dejar espacios de
antemano en el doc original sino poner sólo el marcador e insertar el texto
necesario en ejecución. Eso te libera de tener que estar formateando el
texto en tu aplicación.
Echale un vistazo a este enlace:
http://msdn.microsoft.com/library/d...rktext.asp

Slds - Octavio

"Javier" escribió en el mensaje
news:
Tengo una aplicacion c# la cual inserta texto en un archivo word en donde
tengo marcadores(bookmarks) puestos.
El problema que tengo es que al insertar texto me corre el texto siguiente
la cantidad de espacios como el tamanio del texto insertado.
Tenes idea de como solucionar esto?
Este es un fragmento de codigo de mi aplicacion.
for (int i = 1; i <= doc.Bookmarks.Count; i++)

{

object objI = i;

string bookName = doc.Bookmarks.Item(ref objI).Name;

Word.Range rng = doc.Bookmarks.Item(ref objI).Range;

i++;

object objIEnd = i;

Word.Range rngEnd = doc.Bookmarks.Item(ref objIEnd).Range;

rng.Text = "";

object objIEnd2 = i + 1;

Word.Range rngEnd2 = doc.Bookmarks.Item(ref objIEnd).Range;

foreach (TextBox tb in textBoxes)

{

if (tb.Name == bookName)

{

object start = Word.WdCollapseDirection.wdCollapseStart;


rng.End = rngEnd.Start - tb.Text.Trim().Length;

rng.Collapse(ref start);

rng.Select();

rng.Text = tb.Text.Trim();

break;

}

}



Gracias Javier.


Preguntas similares