Recent

Author Topic: Crear tabla en documento Word  (Read 1589 times)

esdonis

  • Jr. Member
  • **
  • Posts: 61
Crear tabla en documento Word
« 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

BlueIcaro

  • Hero Member
  • *****
  • Posts: 792
    • Blog personal
Re: Crear tabla en documento Word
« Reply #1 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

esdonis

  • Jr. Member
  • **
  • Posts: 61
Re: Crear tabla en documento Word
« Reply #2 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

esdonis

  • Jr. Member
  • **
  • Posts: 61
Re: Crear tabla en documento Word
« Reply #3 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

Edson

  • Hero Member
  • *****
  • Posts: 1301
Re: Crear tabla en documento Word
« Reply #4 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.
Lazarus 2.2.6 - FPC 3.2.2 - x86_64-win64 on Windows 10

 

TinyPortal © 2005-2018