Boa tarde eu uso TWord() pra gerar uma ficha de cliente e está funcionando blz,só que preciso juntar todas as fichas dos clientes em um só arquivo, tem como fazer isso ?
desde já obrigado pela atenção de todos
juntar arquivos do word
Moderador: Moderadores
-
carlos moc
- Usuário Nível 2

- Mensagens: 68
- Registrado em: 16 Out 2017 16:00
- Localização: Montes Claros MG - Zap (38)99831-5319
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
juntar arquivos do word
Amiguinhos,
Olha este código e assimile o conceito:
Não testei.
Olha este código e assimile o conceito:
Código: Selecionar todos
outdocname := "_CONCATENATED.doc"
wdPasteDefault := 0
wdPageBreak := 7
cPath := ".\"
function MAIN // Processo
word := win_CreateObject("Word.Application")
DeleteOldOutput( outdocname )
first := .t.
cExtensao := "DOC"
CONTADOR := ADIR( cPath + "\*." + cExtensao )
IF CONTADOR != 0
DECLARE TXT_NOMES[ CONTADOR ]
ADIR( cPath + "\*." + cExtensao, TXT_NOMES )
FOR CONTADOR := 1 TO LEN( TXT_NOMES )
cfpath := MemoRead( cPath + "\" + TXT_NOMES[CONTADOR] )
if first
outdoc := word:Documents:Add()
outdoc:SaveAs( outdocname )
Processa( cfpath, .t. )
first = .f.
else
Processa( cfpath, .t. )
end if
NEXT
If .Not. first
outdoc:Save()
outdoc:Close()
EndIf
ENDIF
word:Quit()
return nil
function DeleteOldOutput( outdocname )
If File( outdocname )
fErase( outdocname )
EndIf
return nil
function Processa( filename, insertBreak )
doc := word:Documents:Open( filename )
word:Selection:WholeStory()
word:Selection:Copy()
outdoc:Activate()
if insertBreak
word:Selection:InsertBreak( wdPageBreak )
endif
word:Selection:Paste()
doc:Close()
return nil
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
carlos moc
- Usuário Nível 2

- Mensagens: 68
- Registrado em: 16 Out 2017 16:00
- Localização: Montes Claros MG - Zap (38)99831-5319
juntar arquivos do word
Fiz algumas alterações e funcionou blz, só que está inserindo uma página em branco no final,já tentei de tudo mas não consegui retirar.kkkkk, quem consegui me avisa ai por favor, mas ja resolveu meu problema.
Código: Selecionar todos
function juntadoc()
outdocname := '\rhino\concatenated.doc'
wdPasteDefault := 0
wdPageBreak := 5
cPath := '\rhino\wordtmp'
TXT_NOMES := {}
word := CreateObject("Word.Application")
if file( outdocname )
fErase( outdocname )
endif
first := .t.
cExtensao := 'doc'
CONTADOR := ADIR( cPath + '\*.' + cExtensao )
IF CONTADOR != 0
TXT_NOMES := directory( cPath + '\*.' + cExtensao )
for contador := 1 to len( txt_nomes )
cFile := cPath + '\' + TXT_NOMES[CONTADOR,1]
ctexto := MemoRead( cPath + '\' + TXT_NOMES[CONTADOR,1] )
if first
outdoc := word:Documents:Add()
outdoc:SaveAs( outdocname )
Processa( cFile,.t.,contador )
first = .f.
else
Processa( cFile,.t.,contador )
endif
next
if .not. first
outdoc:Save()
outdoc:Close()
endif
endif
word:quit()
return .t.
///////////////////////////////////////////////
//
///////////////////////////////////////////////
function Processa( cFile,insertBreak,contador )
doc := word:Documents:Open( cFile )
word:Selection:WholeStory()
word:Selection:Copy()
outdoc:Activate()
if insertBreak
//word:Selection:InsertBreak( wdPageBreak )
endif
word:Selection:Paste()
doc:Close()
return .t.
Editado pela última vez por Toledo em 22 Jun 2018 13:24, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
juntar arquivos do word
:xau :)Pos
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
carlos moc
- Usuário Nível 2

- Mensagens: 68
- Registrado em: 16 Out 2017 16:00
- Localização: Montes Claros MG - Zap (38)99831-5319
juntar arquivos do word
Rochinha fiquei tão empolgado com o resultado que acabei me esquecendo de te agradecer, rapaz resolveu os meus problemas, agora posso gerar todos os relatorios do meu sistema em word e depois exporta pra pdf.obrigado,obrigado
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
juntar arquivos do word
Amiguinhos,
carlos moc
Com certeza a sua dúvida também pode ser a de outro colega e a solução está aí, para todos. E na verdade foi você quem deu a solução.
carlos moc
Que é isso. Aqui somos uma comunidade. É ela quem nos agradece em buscar soluções e avolumar conhecimento.acabei me esquecendo de te agradecer
Com certeza a sua dúvida também pode ser a de outro colega e a solução está aí, para todos. E na verdade foi você quem deu a solução.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.