Gerar Documento Word
Moderador: Moderadores
Gerar Documento Word
Pessoal,
Alguém tem alguma rotina para gerar um documento word com as formações de fonte, tamanho de página e orientação.
:)Pos []´s
Alguém tem alguma rotina para gerar um documento word com as formações de fonte, tamanho de página e orientação.
:)Pos []´s
- Luciano Bonfim
- Usuário Nível 3

- Mensagens: 414
- Registrado em: 23 Ago 2007 09:34
- Localização: Rio de Janeiro / São Paulo
- Contato:
Código: Selecionar todos
PROCEDURE geraWord( cARQ )
local x,atu:=0,pos:=0,arq,valbuf,buffer,bytes,bloco,ch,linhaImpressao
LOCAL oWord, oText
PRIVATE oDlgHabla:=NIL
TRY
oWord := GetActiveObject( "Word.Application" )
CATCH
TRY
oWord := CreateObject( "Word.Application" )
CATCH
avi_rep("Não foi Possivel Achar o Word Instalado")
IF oDlgHabla#NIL
oDlgHabla:CLOSE()
ENDIF
RETURN
END
END
oWord:Documents:Add()
oText := oWord:Selection()
oText:Font:Name := "Lucida Console"
oText:Font:Size := 8
oText:Font:Bold := .F.
valbuf = 11000
arq=FOPEN(cArq,0)
do while .t.
buffer=SPACE(valbuf)
FSEEK(arq,atu,0)
bytes=FREAD(arq,@buffer,valbuf)
pos=AT(CHR(12),buffer)
if bytes=0 .OR. pos=0
exit
endif
bloco=substr(buffer,1,pos)
linhaImpressao=""
for x=1 to len(bloco)
ch=substr(bloco,x,1)
do case
// para o word fica mais rápido mandar de pagina em pagina em vez de linha em linha
//case ch = FIM_LINHA
//oText:Text += HB_OemToAnsi(strtran(linhaImpressao,chr(13),"")) + CRLF
//linhaImpressao=""
case ch = FIM_PAGINA
oText:Text += HB_OemToAnsi(strtran(linhaImpressao,chr(13),"")) + chr(10)+chr(12)
linhaImpressao=""
otherwise
linhaImpressao+=ch
endcase
next
atu=atu+pos
enddo
oWord:Visible := .T.
oWord:WindowState := 1
IF oDlgHabla # NIL
oDlgHabla:CLOSE()
ENDIF
RETURN
Muito Obrigado,
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
- Luciano Bonfim
- Usuário Nível 3

- Mensagens: 414
- Registrado em: 23 Ago 2007 09:34
- Localização: Rio de Janeiro / São Paulo
- Contato:
em tempo:
#define FIM_LINHA chr(10)
#define FIM_PAGINA chr(12)
#define CRLF Chr(13) + Chr(10)
#define FIM_LINHA chr(10)
#define FIM_PAGINA chr(12)
#define CRLF Chr(13) + Chr(10)
Muito Obrigado,
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
- Luciano Bonfim
- Usuário Nível 3

- Mensagens: 414
- Registrado em: 23 Ago 2007 09:34
- Localização: Rio de Janeiro / São Paulo
- Contato:
ai vc me pegou.. näo sei...
se descobrir pota aqui que eu tb queria saber...
se descobrir pota aqui que eu tb queria saber...
Muito Obrigado,
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Segue ai a dica,
oWord:Selection():PageSetup():Orientation():=0 //Portrait e 1 para LandScape
[]´s :)Pos
oWord:Selection():PageSetup():Orientation():=0 //Portrait e 1 para LandScape
[]´s :)Pos
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Segue ai a dica,
oWord:Selection():PageSetup():Orientation():=0 //Portrait e 1 para LandScape
[]´s :)Pos
oWord:Selection():PageSetup():Orientation():=0 //Portrait e 1 para LandScape
[]´s :)Pos
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Mais uma dica : as margens:
oText := oWord:Selection()
oText:PageSetup():Orientation():=2 //LandScape
oText:PageSetup():TopMargin():=1
oText:PageSetup():BottomMargin():=1
oText:PageSetup():LeftMargin():=1
oText:PageSetup():RightMargin():=1
:)Pos
oText := oWord:Selection()
oText:PageSetup():Orientation():=2 //LandScape
oText:PageSetup():TopMargin():=1
oText:PageSetup():BottomMargin():=1
oText:PageSetup():LeftMargin():=1
oText:PageSetup():RightMargin():=1
:)Pos
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- Luciano Bonfim
- Usuário Nível 3

- Mensagens: 414
- Registrado em: 23 Ago 2007 09:34
- Localização: Rio de Janeiro / São Paulo
- Contato:
Amigo,
Era exatamente isso que eu tava precisando, landscape e as margens... esse que é o objetivo do compartilhamento do conhecimento, eu mostro meu código pra vc e vc melhora e devolve e assim caminha a humanidade... rsrsrs
Muito Obrigado
Era exatamente isso que eu tava precisando, landscape e as margens... esse que é o objetivo do compartilhamento do conhecimento, eu mostro meu código pra vc e vc melhora e devolve e assim caminha a humanidade... rsrsrs
Muito Obrigado
Muito Obrigado,
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
- momente
- Usuário Nível 3

- Mensagens: 496
- Registrado em: 03 Mar 2005 11:53
- Localização: São Carlos-SP
- Contato:
Excelente dica e solução amigos,
Estava precisando disso!
Valeu!
Estava precisando disso!
Valeu!
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Amigos mais uma dica:
Definir o papel: A4 ou Carta
* A4
* LandScape
* Largura: 841.95
* Altura : 595.35
* Portrait
* Largura: 595.35
* Altura : 841.95
* Carta
* LandScape
* Largura: 792.1
* Altura : 612.1
* Portrait
* Largura: 612.1
* Altura : 792.1
oText:PageSetup():PageWidth:=841.95
oText:PageSetup():PageHeight:=595.35
:)Pos
Definir o papel: A4 ou Carta
* A4
* LandScape
* Largura: 841.95
* Altura : 595.35
* Portrait
* Largura: 595.35
* Altura : 841.95
* Carta
* LandScape
* Largura: 792.1
* Altura : 612.1
* Portrait
* Largura: 612.1
* Altura : 792.1
oText:PageSetup():PageWidth:=841.95
oText:PageSetup():PageHeight:=595.35
:)Pos
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
