Criar documento word com ´Word.Basic´
Procurei bastante no forum mas nada me ajudou...
Por favor tenho 2 perguntas:
1- Como faço para gravar um documento criado com o ´Word.Basic´?
Usei esse método mas só salva o texto, as tabelas não...
MSWord.FileSaveAs(´C:test.doc´, 3); //Salva o arquivo
-----------------------------------------------------------------------------------
2- Criei uma tabela e quero colocar um texto logo abaixo dela, como sair
de uma tabela e escrever logo depois dela ?
Usei esse comando mas não acontece nada..
MSWord.Selection.MoveDown(count:=1);
-----------------------------------------------------------------------------------
Segue abaixo o meu código...qualquer ajuda é bem vinda..
procedure TQRImpPedidos.Button1Click(Sender: TObject);
var MSWord: Variant;
begin
try
MSWord:= CreateOleObject(´Word.Basic´);
MSWord.Filenew;
MSWord.Font(´Arial´);
MSWord.CenterPara;
MSWord.FontSize(14);
MSWord.insert(#13);
MSWord.bold;
MSWord.insert(´PEDIDO DE PRODUTOS SIDERÚRGICOS´);
MSWord.bold(False);
MSWord.FontSize(8);
MSWord.insert(13 + 13 + 13 + 13 + 13);
MSWord.tableinserttable(NumColumns:=1, NumRows:=1);
MSWord.TableSelectTable;
MSWord.TableAutoFormat(Format := 16);
MSWord.startOfRow;
//------------------------------------------------------------------------------
MSWord.insert(13);
MSWord.Font(´Arial´);
MSWord.CenterPara;
MSWord.FontSize(8);
MSWord.bold;
MSWord.insert(´DADOS DO CLIENTE´);
MSWord.insert(13);
MSWord.nextcell;
MSWord.Font(´Arial´);
MSWord.LeftPara;
MSWord.FontSize(8);
MSWord.bold(False);
MSWord.insert(´CÓDIGO: ´);
MSWord.nextcell;
MSWord.insert(´NOME FANTASIA: ´);
MSWord.nextcell;
MSWord.insert(´CONTATO: ´ );
MSWord.nextcell;
MSWord.insert(´RAZÃO SOCIAL: ´ );
MSWord.nextcell;
MSWord.insert(´TELEFONE: ´ );
MSWord.nextcell;
MSWord.insert(´RUA: ´ );
MSWord.nextcell;
MSWord.insert(´BAIRRO: ´ );
MSWord.nextcell;
MSWord.insert(´CIDADE: ´) ;
MSWord.nextcell;
MSWord.insert(´CEP: ´ );
MSWord.nextcell;
MSWord.insert(´CNPJ/CPF: ´ );
MSWord.nextcell;
MSWord.insert(´INSCR.ESTADUAL: ´ );
MSWord.nextcell;
MSWord.insert(´E-MAIL: ´ );
MSWord.nextcell;
//------------------------------------------------------------------------------
MSWord.Font(´Tahoma´);
MSWord.CenterPara;
MSWord.FontSize(8);
MSWord.insert(´DESCRIÇÃO DOS PRODUTOS´);
MSWord.NextCell;
MSWord.tableselectRow;
MSWord.tableSplitCells(NumColumns:=8, NumRows:=2);
MSWord.CenterPara;
MSWord.FontSize(8);
MSWord.NextCell;
MSWord.Insert(´PRODUTO´);
MSWord.NextCell;
MSWord.Insert(´DIMENSÕES´);
MSWord.NextCell;
MSWord.Insert(´QUANT.´);
MSWord.NextCell;
MSWord.Insert(´REFERÊNCIA´);
MSWord.NextCell;
MSWord.Insert(´VL. UNIT.´);
MSWord.NextCell;
MSWord.Insert(´VL. TOTAL´);
MSWord.NextCell;
MSWord.Insert(´COMISSÃO´);
MSWord.NextCell;
MSWord.Insert(´LUCRO´);
//------------------------------------------------------------------------------
MSWord.FontSize(7);
MSWord.NextCell;
MSWord.Insert(´´);
MSWord.NextCell;
MSWord.Insert(´(mm)´);
MSWord.NextCell;
MSWord.Insert(´(kg)´);
MSWord.NextCell;
MSWord.Insert(´´);
MSWord.NextCell;
MSWord.Insert(´(R$ / t)´);
MSWord.NextCell;
MSWord.Insert(´(R$)´);
MSWord.NextCell;
MSWord.Insert(´(¬)´);
MSWord.NextCell;
MSWord.Insert(´(¬)´);
//------------------------------------------------------------------------------
MSWord.Selection.MoveDown(count:=1);
MSWord.Insert(´Teste´);
finally
MSWord.FileSaveAs(´C:test.doc´, 3); //Salva o arquivo
MSWord.Appclose;
end;
end;
obrigado...
Por favor tenho 2 perguntas:
1- Como faço para gravar um documento criado com o ´Word.Basic´?
Usei esse método mas só salva o texto, as tabelas não...
MSWord.FileSaveAs(´C:test.doc´, 3); //Salva o arquivo
-----------------------------------------------------------------------------------
2- Criei uma tabela e quero colocar um texto logo abaixo dela, como sair
de uma tabela e escrever logo depois dela ?
Usei esse comando mas não acontece nada..
MSWord.Selection.MoveDown(count:=1);
-----------------------------------------------------------------------------------
Segue abaixo o meu código...qualquer ajuda é bem vinda..
procedure TQRImpPedidos.Button1Click(Sender: TObject);
var MSWord: Variant;
begin
try
MSWord:= CreateOleObject(´Word.Basic´);
MSWord.Filenew;
MSWord.Font(´Arial´);
MSWord.CenterPara;
MSWord.FontSize(14);
MSWord.insert(#13);
MSWord.bold;
MSWord.insert(´PEDIDO DE PRODUTOS SIDERÚRGICOS´);
MSWord.bold(False);
MSWord.FontSize(8);
MSWord.insert(13 + 13 + 13 + 13 + 13);
MSWord.tableinserttable(NumColumns:=1, NumRows:=1);
MSWord.TableSelectTable;
MSWord.TableAutoFormat(Format := 16);
MSWord.startOfRow;
//------------------------------------------------------------------------------
MSWord.insert(13);
MSWord.Font(´Arial´);
MSWord.CenterPara;
MSWord.FontSize(8);
MSWord.bold;
MSWord.insert(´DADOS DO CLIENTE´);
MSWord.insert(13);
MSWord.nextcell;
MSWord.Font(´Arial´);
MSWord.LeftPara;
MSWord.FontSize(8);
MSWord.bold(False);
MSWord.insert(´CÓDIGO: ´);
MSWord.nextcell;
MSWord.insert(´NOME FANTASIA: ´);
MSWord.nextcell;
MSWord.insert(´CONTATO: ´ );
MSWord.nextcell;
MSWord.insert(´RAZÃO SOCIAL: ´ );
MSWord.nextcell;
MSWord.insert(´TELEFONE: ´ );
MSWord.nextcell;
MSWord.insert(´RUA: ´ );
MSWord.nextcell;
MSWord.insert(´BAIRRO: ´ );
MSWord.nextcell;
MSWord.insert(´CIDADE: ´) ;
MSWord.nextcell;
MSWord.insert(´CEP: ´ );
MSWord.nextcell;
MSWord.insert(´CNPJ/CPF: ´ );
MSWord.nextcell;
MSWord.insert(´INSCR.ESTADUAL: ´ );
MSWord.nextcell;
MSWord.insert(´E-MAIL: ´ );
MSWord.nextcell;
//------------------------------------------------------------------------------
MSWord.Font(´Tahoma´);
MSWord.CenterPara;
MSWord.FontSize(8);
MSWord.insert(´DESCRIÇÃO DOS PRODUTOS´);
MSWord.NextCell;
MSWord.tableselectRow;
MSWord.tableSplitCells(NumColumns:=8, NumRows:=2);
MSWord.CenterPara;
MSWord.FontSize(8);
MSWord.NextCell;
MSWord.Insert(´PRODUTO´);
MSWord.NextCell;
MSWord.Insert(´DIMENSÕES´);
MSWord.NextCell;
MSWord.Insert(´QUANT.´);
MSWord.NextCell;
MSWord.Insert(´REFERÊNCIA´);
MSWord.NextCell;
MSWord.Insert(´VL. UNIT.´);
MSWord.NextCell;
MSWord.Insert(´VL. TOTAL´);
MSWord.NextCell;
MSWord.Insert(´COMISSÃO´);
MSWord.NextCell;
MSWord.Insert(´LUCRO´);
//------------------------------------------------------------------------------
MSWord.FontSize(7);
MSWord.NextCell;
MSWord.Insert(´´);
MSWord.NextCell;
MSWord.Insert(´(mm)´);
MSWord.NextCell;
MSWord.Insert(´(kg)´);
MSWord.NextCell;
MSWord.Insert(´´);
MSWord.NextCell;
MSWord.Insert(´(R$ / t)´);
MSWord.NextCell;
MSWord.Insert(´(R$)´);
MSWord.NextCell;
MSWord.Insert(´(¬)´);
MSWord.NextCell;
MSWord.Insert(´(¬)´);
//------------------------------------------------------------------------------
MSWord.Selection.MoveDown(count:=1);
MSWord.Insert(´Teste´);
finally
MSWord.FileSaveAs(´C:test.doc´, 3); //Salva o arquivo
MSWord.Appclose;
end;
end;
obrigado...
Analyst
Curtidas 0
Respostas
Marcio.theis
02/10/2005
De uma olhada neste exemplo:
procedure TForm1.BitBtn1Click(Sender: TObject); var Word: Variant; begin Word:=CreateOleObject(´Word.Application´); try Word.Documents.Add; try Word.ActiveDocument.Tables.Add(Range:=Word.Selection.Range, NumRows:=2, NumColumns:=3); Word.Selection.TypeText(Text := ´Linha 1, Coluna 1´); Word.Selection.MoveRight(12); 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´); Word.Selection.Tables.Item(1).Select; Word.Selection.Cells.AutoFit; Word.ActiveDocument.SaveAs(FileName := ´c:\Tabela.doc´); finally Word.ActiveDocument.Close(SaveChanges := 0); end; finally Word.Quit; end; end;
GOSTEI 0
Analyst
02/10/2005
Obrigado pela dica já conhecia só não estou usando assim pois não consigo centralizar o texto dentro da coluna será que vc sabe?
Senão será que alguem sabe como usar sair de uma tabela e salvar o documento com a formatação da tabela usando ´Word.Basic´ ?
Senão será que alguem sabe como usar sair de uma tabela e salvar o documento com a formatação da tabela usando ´Word.Basic´ ?
GOSTEI 0
Analyst
02/10/2005
Bom consegui salvar era só ter mudado o parametro 3 para 0 rsrsrsr
MSWord.FileSaveAs(´C:test.doc´, 0); //Salva o arquivo
Agora só me resta essa dúvida, por favor me ajudem
[b:b723c7c37e]2- Criei uma tabela e quero colocar um texto logo abaixo dela, como sair
de uma tabela e escrever logo depois dela ?
Usei esse comando mas não acontece nada..
MSWord.Selection.MoveDown(count:=1); [/b:b723c7c37e]
Me ajudem......
MSWord.FileSaveAs(´C:test.doc´, 0); //Salva o arquivo
Agora só me resta essa dúvida, por favor me ajudem
[b:b723c7c37e]2- Criei uma tabela e quero colocar um texto logo abaixo dela, como sair
de uma tabela e escrever logo depois dela ?
Usei esse comando mas não acontece nada..
MSWord.Selection.MoveDown(count:=1); [/b:b723c7c37e]
Me ajudem......
GOSTEI 0
Analyst
02/10/2005
Em resumo quero isso, independente de como criar o documento word.
ola...
Gostaria de saber se alguem poderia me enviar dar alguma dica de como montar uma tabela no word com a seguinte formatação:
Uma tabela que tenha uma coluna apenas nas 5 primeiras linhas e que o texto fique alinhado centralizado somente na primeira linha. Nas 4 linhas seguintes o texto fique alinhado a esquerda.
Seguindo, logo abaixo das 5 linhas gostaria tivesse mais 3 linhas mas com 8 colunas e todas com o texto centralizado.
Por ultimo, a tabela voltaria a ter 1 linha e com somente 2 colunas todas alinhas a esquerda.
Será que alguem pode me ajudar?
Até a oitava linha, aquela que tem 8 colunas, eu tenho uma idéia de como fazer, o problema é voltar a tabela ter 1 linha com duas colunas.
Não importa como fazer, se vão usar 1,2 ou 3 tabelas preciso desse padrão.
Depois de conseguir fazer o que eu quero, coloco aqui no fórum com o intuito de ajudar, pois já procurei bastante e percebi que tem muita gente com dúvidas....
Obrigado,....
ola...
Gostaria de saber se alguem poderia me enviar dar alguma dica de como montar uma tabela no word com a seguinte formatação:
Uma tabela que tenha uma coluna apenas nas 5 primeiras linhas e que o texto fique alinhado centralizado somente na primeira linha. Nas 4 linhas seguintes o texto fique alinhado a esquerda.
Seguindo, logo abaixo das 5 linhas gostaria tivesse mais 3 linhas mas com 8 colunas e todas com o texto centralizado.
Por ultimo, a tabela voltaria a ter 1 linha e com somente 2 colunas todas alinhas a esquerda.
Será que alguem pode me ajudar?
Até a oitava linha, aquela que tem 8 colunas, eu tenho uma idéia de como fazer, o problema é voltar a tabela ter 1 linha com duas colunas.
Não importa como fazer, se vão usar 1,2 ou 3 tabelas preciso desse padrão.
Depois de conseguir fazer o que eu quero, coloco aqui no fórum com o intuito de ajudar, pois já procurei bastante e percebi que tem muita gente com dúvidas....
Obrigado,....
GOSTEI 0