COM - comunicacao com word |
Top Previous Next |
|
implementation
uses ComObj;
{$R *.DFM}
var V: OleVariant;
procedure TForm1.Button1Click(Sender: TObject); begin V := CreateOleObject('Word.Application'); V.ShowMe; V.WordBasic.FileNew; V.WordBasic.Insert('test'); V.Run('mymac'); V.WordBasic.FileSave; end;
------------------------------------------------------------------ // ESTE EXEMPLO FUNCIONA NO WIN2000/WORD 2000 uses COMObj;
var MSWord: Variant; begin MSWord:= CreateOleObject ('Word.Basic'); MSWord.AppShow; // mostra o word MSWord.FileNew; // inicia um novo documento MSWord.insert('Contrato de Locação'); // Escreve algo MSWord.insert(#13+'Contrato de Locação'); // Pula uma linha e escreve MSWord.FontSize(24); // muda o tamanho da fonte MSWord.italic; // coloca italico MSWord.bold; // coloca negrito MSWord.underline; // sublina MSWord.insert(#13+'Contrato de Locação'); // pula a linha e escreve novamente MSWord.FontSize(12); // muda o tamanho da fonte MSWord.Font('Arial'); // muda a fonte usada MSWord.underline(false); // retira o sublinhado MSWord.italic(false); // retira o italico MSWord.bold(false); // retira o bold MSWord.insert(#13 +'teste'); MSWord.insert(#13+#9 +'teste'); // nova linha e um TAB MSWord.insert(#13+'TESTE DE NOME'); // insere algo de uma tabela MSWord.LineUp(2, 1); // seleciona uma parte do texto MSWord.TextToTable(ConvertFrom := 2, NumColumns := 1);// monta uma tabela com o texto selecionado MSWord.Filesaveas; // salva o arquivo end;
------------------------------------------------------------------- OUTRO EXEMPLO
// Consulte o Help - WordBasic Reference no Word
Uses ComObj;
var W:Variant; begin W := CreateOleObject('Word.Basic'); W.AppShow; // Chama o Word.
W.FileOpen(ExtractFilePath(Application.ExeName)+'Contrato.doc'); W.NextField; // Próximo campo (Não DEVE ESTAR PROTEGIDO!!!!!) W.Bold; W.Insert(Edit1.Text); // Inserir uma string W.FilePrint;
// Salva o documento W.FileSaveAs(ExtractFilePath(Application.ExeName)+'Loco.doc'); W.FileClose; // Fecha o Arquivo W.FileExit; // Fecha o Word end; -------------------------------------------------------------------- MAIS UM EXEMPLO
Inclua na seção uses: ComObj
{ - Coloque um botão no Form; - Altere o evento OnClick do botão conforme abaixo: }
procedure TForm1.Button1Click(Sender: TObject); var Word: Variant; begin { Abre o Word } Word := CreateOleObject('Word.Application'); try { Novo documento } Word.Documents.Add; try { Adiciona tabela de 2 linhas e 3 colunas } Word.ActiveDocument.Tables.Add( Range := Word.Selection.Range, NumRows := 2, NumColumns := 3); { Escreve na primeira célula } Word.Selection.TypeText(Text := 'Linha 1, Coluna 1'); { Próxima célula } Word.Selection.MoveRight(12); { Escreve } Word.Selection.TypeText(Text := 'Linha 1, Coluna 2'); Word.Selection.MoveRight(12); Word.Selection.TypeText(Text := 'Linha 1, Coluna 3'); Word.Selection.MoveRight(12); Word.Selection.TypeText(Text := 'Linha 2, Coluna 1'); Word.Selection.MoveRight(12); Word.Selection.TypeText(Text := 'Linha 2, Coluna 2'); Word.Selection.MoveRight(12); Word.Selection.TypeText(Text := 'Linha 2, Coluna 3'); { Auto-Formata } Word.Selection.Tables.Item(1).Select; { Seleciona a 1º tabela } Word.Selection.Cells.AutoFit; { auto-formata } { Imprime 1 cópia } Word.ActiveDocument.PrintOut(Copies := 1); ShowMessage('Aguarde o término da impressão...'); { Para salvar... } Word.ActiveDocument.SaveAs(FileName := 'c:\Tabela.doc'); finally { Fecha documento } Word.ActiveDocument.Close(SaveChanges := 0); end; finally { Fecha o Word } Word.Quit; end; end; Observações Foram usados neste exemplo o Delphi4 e MS-Word97. |