Lazarus

Other Languages => Spanish => Topic started by: esdonis on September 23, 2020, 05:57:17 pm

Title: Crear tabla en documento Word
Post by: esdonis on September 23, 2020, 05:57:17 pm
He intentado de varias formas crear una tabla dentro de un documento de Microsoft Word y no he podido.

Alguien ha podido realizar esta tarea? Como?

Tengo:

var
 libro: OLEVariant;
 WS: WideString;
begin
  try
     libro := CreateOleObject('Word.Application');
  except
    on e:exception do begin
       Application.MessageBox('Error al crear el documento. Primeramente debe instalar el Office.', pchar(Self.Caption), MB_ICONINFORMATION);
      exit;
    end;
  end;
  libro.WordBasic.FileNew;
  WS := UTF8Decode('ACTA DE CONCILIACIÓN DE PAGO');
  libro.Selection.TypeText(WS);
  libro.Selection.TypeParagraph;
  libro.ActiveDocument.Tables.Add(Range:=libro.Selection.Range, NumRows:=4, NumColumns:=4, DefaultTableBehavior:=1, AutoFitBehavior:=0);

Me retorna un error en el metodo .Add
Title: Re: Crear tabla en documento Word
Post by: BlueIcaro on September 23, 2020, 07:22:36 pm
Hola, ¿Qué versión de Lazarus usas?. ¿Que versión de SO?. ¿Muestra algún error tu programa?
/BlueIcaro
Title: Re: Crear tabla en documento Word
Post by: esdonis on September 23, 2020, 08:26:39 pm
El error ocurre el la PC que estoy desarrollando con:

Lazarus 2.0.10
FPC 3.2.0
Windows XP
Title: Re: Crear tabla en documento Word
Post by: esdonis on September 23, 2020, 10:24:14 pm
He probado con:

Lazarus 2.0.10
FPC 3.2.0
Windows 7 Ultimate 32 bt

Y da el mismo error a la hora de adicionar la tabla

Tanto en Win XP como en Win 7 crea el documento de word bien, lo que no te permite es crear una tabla dentro del word.

Sin embargo he probado esa instrucción en Visual Basic y si lo crea de forma satisfactoria, pero bueno al fin y al cabo son la misma familia
Title: Re: Crear tabla en documento Word
Post by: Edson on September 23, 2020, 11:40:17 pm
Alguna vez, lo que hice fue crear un archivo externo en VBScript y lo ejecutaba desde mi aplicación en Lazarus. No recuerdo por qué hacía eso, pero si recuerdo que VBscript hacía algunas cosas bastante fáciles.
TinyPortal © 2005-2018