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.

Preguntas similare

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.


Respuesta Responder a este mensaje
#2 Marino Posadas
19/02/2005 - 22:01 | Informe spam
Repro...Octavio..)) Yo lo he usado en una aplicación real, permitiendo así
que el usuario final configure sus facturas como le dé la gana con tal de
que los marcadores los respete, y es lo más efectivo.


Saludos cordiales
Marino Posadas
MVP Visual C#

www.ElAveFenix.net

"Octavio Hernandez" escribió en el mensaje
news:e6%
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.






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida