Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: WORD: Tabellenspaltenbreite automatisch setzen...

  Alt 25. Mai 2006, 11:39
Hallo,

ungetestet etwa in dieser Art:

Delphi-Quellcode:
uses
  ComObj;

procedure TForm1.Button1Click(Sender: TObject);
const
  FILE_WORD_DOC = 'C:\TestDoc.doc';
  wdDoNotSaveChanges = 0;
var
  MSWord, Table, SaveChanges: OLEVariant;
begin
  try
    MSWord := CreateOleObject('Word.Application');
  except
    // Error....
    Exit;
  end;
  // Word anzeigen
  try
    MSWord.Visible := True;
    MSWord.Documents.Open(FILE_WORD_DOC);
    // 1 Tabelle auswählen...
    Table := MSWord.ActiveDocument.Tables.Item(1);
    try
      // Für Spalte 1 Breite setzen
      Table.Columns.Item(1).SetWidth(20, 0);
      // der 2. Param. kann laut VBA Help folgende Konstanten
      // einnehmen:
      {
        wdAdjustFirstColumn = 2
        wdAdjustNone = 0
        wdAdjustProportional = 1
        wdAdjustSameWidth = 3
      }

    except
    end;
    //..
  finally
   // MSWord.ActiveDocument.Close(wdDoNotSaveChanges);
   // MSWord.Quit;
     MSWord := nil;
     Table := nil;
  end;
end;
Thomas
  Mit Zitat antworten Zitat