Gerar Relatorio p/ Word e Formatar as colunas
Uso Paradox e Delphi6.
Estou gerando um relatório usando o comando - MSWord.insert
Ex.:
cadeia = NomeCliente + ´ ´ + Endereco + ´ ´ + Cidade + ´ ´ + Uf
MSWord.Insert(#13 + cadeia)
Só que dependendo do numero de caracteres do nome ou endereco/cidade, as colunas ficam desposicionadas. Como posso resolver isso.
Obrigado
Neto
Estou gerando um relatório usando o comando - MSWord.insert
Ex.:
cadeia = NomeCliente + ´ ´ + Endereco + ´ ´ + Cidade + ´ ´ + Uf
MSWord.Insert(#13 + cadeia)
Só que dependendo do numero de caracteres do nome ou endereco/cidade, as colunas ficam desposicionadas. Como posso resolver isso.
Obrigado
Neto
Neto
Curtidas 0
Respostas
Joilson_gouveia
25/09/2003
Primeiro, vc deve escolher uma fonte que tenha o mesmo espaçamento e tamanho dos caracteres...
Depois, vc deve criar uma função de alinhamento/posicionamento para sua cadeia de caracteres...
Segue exemplo abaixo para estudos:
174 - Criar um documento no Word
Uses ComObj
procedure TForm1.Button1Click(Sender: TObject);
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+Table1Razao_Social.Value);//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(´c:\temp\test.txt´, 3); //Salva o arquivo
end;
Obs feita pelo Ruberval
MSWord.JustifyPara; // alinhamento justificado
MSWord.RightPara; // alinhamento a direita
MSWord.LeftPara; // alinhamento a esquerda
MSWord.InsertPageBreak; // quebrar página
Depois, vc deve criar uma função de alinhamento/posicionamento para sua cadeia de caracteres...
Segue exemplo abaixo para estudos:
174 - Criar um documento no Word
Uses ComObj
procedure TForm1.Button1Click(Sender: TObject);
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+Table1Razao_Social.Value);//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(´c:\temp\test.txt´, 3); //Salva o arquivo
end;
Obs feita pelo Ruberval
MSWord.JustifyPara; // alinhamento justificado
MSWord.RightPara; // alinhamento a direita
MSWord.LeftPara; // alinhamento a esquerda
MSWord.InsertPageBreak; // quebrar página
GOSTEI 0
Neto
25/09/2003
Primeiro, vc deve escolher uma fonte que tenha o mesmo espaçamento e tamanho dos caracteres...
Depois, vc deve criar uma função de alinhamento/posicionamento para sua cadeia de caracteres...
Segue exemplo abaixo para estudos:
174 - Criar um documento no Word
Uses ComObj
procedure TForm1.Button1Click(Sender: TObject);
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+Table1Razao_Social.Value);//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(´c:\temp\test.txt´, 3); //Salva o arquivo
end;
Obs feita pelo Ruberval
MSWord.JustifyPara; // alinhamento justificado
MSWord.RightPara; // alinhamento a direita
MSWord.LeftPara; // alinhamento a esquerda
MSWord.InsertPageBreak; // quebrar página
GOSTEI 0
Neto
25/09/2003
:idea: Olá
Obrigado pela dica. Aproveitando gostaria de saber onde consigo
apostilas ou outro material que apresente exemplos de uso de comandos
do tipo. MSWORD.INSERT, MSWORD.CREATEOLEOBJECT, ETC...
E também sobre API do Windows.
Abraços e Obrigado..
Neto
Obrigado pela dica. Aproveitando gostaria de saber onde consigo
apostilas ou outro material que apresente exemplos de uso de comandos
do tipo. MSWORD.INSERT, MSWORD.CREATEOLEOBJECT, ETC...
E também sobre API do Windows.
Abraços e Obrigado..
Neto
GOSTEI 0
Neto
25/09/2003
Ainda não alinha corretamente, como fazer uma função de alinhamento/posicionamento para sua cadeia de caracteres...
Meu relatório tem 7 colunas:
Codigo, Nome, Endereço, Bairro, Cidade, Estado e Telefone.
Obrigado..
Neto
Meu relatório tem 7 colunas:
Codigo, Nome, Endereço, Bairro, Cidade, Estado e Telefone.
Obrigado..
Neto
GOSTEI 0
Neto
25/09/2003
:oops: Oi gente só mais um dica.
Como alinhar / posicionar / justificar o texto de um relatório.
CODIGO NOME ENDEREÇO CIDADE ESTADO TELEFONE
XXX XXXX XXXXXX XXXX XX 999-9999
Sai tudo desalinhado....
Obrigado
Neto
Como alinhar / posicionar / justificar o texto de um relatório.
CODIGO NOME ENDEREÇO CIDADE ESTADO TELEFONE
XXX XXXX XXXXXX XXXX XX 999-9999
Sai tudo desalinhado....
Obrigado
Neto
GOSTEI 0