none
Insertar un tabstop en un documento word RRS feed

  • Pregunta

  • Hola. Intento insertar un Tabstop en un doc word 2010 desde c#. El codigo se ejecuta sin errores, pero el Tabstop no aparece. Este es el codigo que uso

    string praLiena = "N°: 32 DP/ 2014\tResistencia, 03 de enero de 2014"; Pfo.TabStops.Add(300); Pfo.Range.Text = praLiena; Pfo.Range.InsertParagraphAfter();

    // Tambien probé esto: // Pfo.TabStops.Add(300, WdHorizontalLineAlignment.wdHorizontalLineAlignLeft);

    // Y esto tampoco anda //Pfo.TabStops.Add(300, WdHorizontalLineAlignment.wdHorizontalLineAlignLeft, WdTabLeader.wdTabLeaderSpaces);

    Tampoco funcionó sangria de primera linea

     p3.Range.ParagraphFormat.FirstLineIndent = 280;

    Sin embargo, grabé una macro que sí funcion. este es el codigo de la macro (en vba)

    x = "xxxxxxxx": y = "yyyyyyyyy"
    ActiveDocument.Paragraphs(1).TabStops.Add (280)
    ActiveDocument.Paragraphs(1).Range.Text = x & vbTab & y
    

    ¿Como se inserta un Tabstop?

    Muchas gracias. Saludos

    martes, 14 de enero de 2014 22:22

Todas las respuestas

  • Ya encontre la solución en este sitio (Adding a tabstop). Aquí dejo mi versión:

    string praLinea = "\nN°:32 DP/214\tResistencia, 03 de enero de 2014";
    Range rg = Pfo.Range;     //Pfo es un objeto paragrhap que fue pasado como parametro
    rg.SetRange(rg.Start, rg.Start);
    rg.Paragraphs.TabStops.Add(280, WdTabAlignment.wdAlignTabLeft);
    rg.Text = praLinea;
    Pfo.Range.InsertParagraphAfter();

    Con esto logré insertar los Tabstop. Pero esto trae alguno problemitas con los que hay que lidiar:

    1- Para insertar otros parrafos, para cada uno, hay que setear su rango así: rg.Setrange(rg.Start, rg.Start);

    2- No se porque pero se van insertando renglones vacíos al final.

    A la sangría de primera linea no le encontré la vuelta.

    Saludos a todos.

    miércoles, 15 de enero de 2014 13:07