|
Usuários |
|
60 Usuários Online
|
|
[Dicas]
Colocando figuras e tabelas no word através do Delphi sem usar componentes |
Publicado por wendersonlisardo : Segunda, Setembro 20, 2004 - 08:19 GMT-3 (8175 leituras)
5 Comentários Enviar para um amigo Versão para impressão
|
Há alguns dias eu levantei um tema no fórum, queria saber como colocar uma figura qualquer no Word usando o Delphi...
como não recebi nenhuma mensagem me explicando tive que fazer o famoso "fuçamento", passei o dia iventando códigos e mais codigos até que me caiu a ficha, o Word tem uma liguagem de programação parecida com o VB, para encurtar a história vou dizer o que resolvi fazer, gravei uma macro que fazia exatamente o que eu queria então resolvi testar no delphi através de um OLE o codigo mais ou menos parecido com o da macro(que estava = ao do VB). consegui então fazer muitas coisas até legais no Word.
O Código abaixo serve para colocar uma figura que esteja no mesmo diretório do programa e ainda fazer uma tabela com a auto formatação do word:
procedure TForm1.dxButton2Click(Sender: TObject);
var
i : integer;
MSWord : variant;
begin
MSWord:= CreateOleObject ('Word.Basic');
MSWord.Filenew;//inicia um novo
documento
MSWord.AppShow;//mostra o word
MSWord.appmaximize;//Maximiza a janela do Word
MSWord.insertpicture('.\format.jpg');//Insere uma figura
note que o ponto serve para dizer que está no mesmo diretório
do programa
MSWord.Font('Times');//muda a fonte usada
MSWord.CenterPara;//coloca o texto no centro
MSWord.FontSize(12);//muda o tamanho da fonte
MSWord.bold;//coloca negrito
MSWord.underline;//sublina
MSWord.insert(#13+'Genesis Informática');//note
que #13 serve para pular linha caso queira dar um tab é só colocar
o caracter corespondente no caso #9
MSWord.FontSize(12);//muda o tamanho da fonte
MSWord.underline(false);//retira o sublinhado
MSWord.tableinserttable(NumColumns:=1, NumRows:=1); //Insere
uma tabela com uma linha e uma coluna
MSWord.TableSelectTable; //seleciona a tabela inteira
MSWord.TableAutoFormat(Format:=20); //usa a auto formatacão
de tabelas do Word a vigésima para ser exato
MSWord.startOfRow;//coloca o cursor piscando no começo
da linha
MSWord.leftPara;//coloca o texto na esquerda
MSWord.insert('Wenderson Lisardo');// escreve
MSWord.nextcell;//vai para a Proxima Celula como não
existe ainda ele cria outra linha
MSWord.tableselectRow;// seleciona a linha atual
MSWord.tableSplitCells(NumColumns:=3, NumRows:=1);//divide
a célula em 3 colunas e 1 linha
MSWord.insert('primeira coluna');// escreve
MSWord.nextcell;//proxima célula
MSWord.insert('segunda coluna');// escreve
MSWord.nextcell;//proxima célula
MSWord.insert('terceira coluna');// escreve
end;
Não é preciso adicionar nenhum componete só uma biblioteca
a ComObj
Espero que minha primeira matéria tenha sido útil. Obrigado e qualquer dúvida envie um e-mail para wendersonlisardo@yahoo.com.br
|
|
Comentários | |
| | Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos. |
por: invdjhack : Set 23, 2004 - 07:37 (Informações sobre o membro | Enviar uma mensagem)
http://
|
|
Caro amigo, sua dica foi interessante, mais eu tenho uma idéia melhor de adicionar uma figura no word utilizando delphi só que mais fácil, utilizando o ClipBoard (Copia-Cola), eu criei um Form e nele eu coloquei um Timage e um botão e escrevi o código;
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\imagem.jpg');
Clipboard.Assign(Image1.Picture);
Coloquei "Clipbrd no uses do formulário", Assim, ele pega a imagem com nome "Imagem.jpg" que está no mesmo diretório do executável, joga para o ClipBoard, aí é só abri o Word e pressionar Ctrl+V, sacou? pode-se melhorar muito esse código e também usar imagens *.bmp... abraços e parabens por sua postagem.
|
por: wendersonlisardo (WendersonLisardo@yahoo.com.br) : Set 25, 2004 - 12:33 (Informações sobre o membro | Enviar uma mensagem) http://www.genesisinf.com | É claro que esse código pode ser melhorado como por exemplo podemos em vez de focar escrevendo MsWord usar o width.
Mas no caso do que vc falou que fez, eu não acho viável já que o usuarío precisará apertar Ctrl+V no meu exemplo ele vai pegar a imagem que estiver no mesmo diretório da aplicação pois coloquei assim '.\imagem.jpg'.
Lembre sempre que o usuário não quer ter o trabalho clicar....
Até o próximo artigo
Wenderson Lisardo
wendersonlisardo@yahoo.com.br
www.genesisinf.com | [ Comentários não permitidos para usuários anônimos. Por gentileza, registre-se ou conecte-se ao sistema
por: jffonseca : Set 26, 2004 - 07:48 (Informações sobre o membro | Enviar uma mensagem) http:// | Cara (invdjhack), voce é muito esperto. Não seria mais fácil ainda selecionar a figura numa pasta, clicar sobre ela, copiar (CTRL+C) e depois colar (CTRL+V) diretamente no Word. Assim não precisariamos nem do Delphi.
O que o Wederson quis fazer foi tudo automatizado pelo programa em Delphi.
Alias, existem codigos muito melhores sobre interativade entre aplicativos Delphi e aplicativos Microsoft que valem a pena ser publicados.
Meus parabéns Wederson !!!
Agora, o invdjhack, procura outra área, porque programação não tem nada a ver com voce.
| [ Comentários não permitidos para usuários anônimos. Por gentileza, registre-se ou conecte-se ao sistema
por: invdjhack : Set 27, 2004 - 07:13 (Informações sobre o membro | Enviar uma mensagem) http:// | | caro jffonseca, vc é que não entendeu a minha observação, eu apenas quiz dar uma idéia um pouco mais flexível, pois através de um programa que fica fixo na sua área de trabalho, como um que eu fiz para o meu trampo, eu não posso ficar abrindo o explorer e procurar a imagem e depois abrir o word para colá-la, é mais fácil eu simplesmente clicar no programa com o mouse, que por acaso fica no canto direito inferior da minha tela aí ele já copia a imagem para o clipboard, e já como eu uso bastante o word, apenas pressiono o Ctrl+V para colar, a formatação do texto no word eu já tenho, pq eu já fico com o word aberto o dia inteiro...entendeu expertão.......mas quem sou eu né......jffonseca programador dos programadores. | [ Comentários não permitidos para usuários anônimos. Por gentileza, registre-se ou conecte-se ao sistema
por: Tremonti (fernando_tremonti@yahoo.com.br)
: Fev 05, 2019 - 09:18 (Informações sobre o membro | Enviar uma mensagem)
|
Gostaria de saber como faço para incluir uma tabela a partir de uma posição?
Exemplo ... eu teria no word o texto <TABELA> e aí eu começaria a desenhá-la?
Abraços e Obrigado!
|
|
|
Edição 112 |
|
|
50 Programas Fontes |
|
|
Produtos |
|
|