Clipper On Line • Ver Tópico - juntar arquivos do word

juntar arquivos do word

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

 

juntar arquivos do word

Mensagempor carlos moc » 20 Jun 2018 12:52

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
carlos moc
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 68
Data de registro: 16 Out 2017 15:00
Cidade/Estado: Montes Claros MG - Zap (38)99831-5319
Curtiu: 0 vez
Mens.Curtidas: 1 vez

juntar arquivos do word

Mensagempor rochinha » 20 Jun 2018 19:04

Amiguinhos,

Olha este código e assimile o conceito:
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


Não testei.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

juntar arquivos do word

Mensagempor carlos moc » 22 Jun 2018 12:33

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.

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.
Nota de Moderação:
Toledo: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui
carlos moc
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 68
Data de registro: 16 Out 2017 15:00
Cidade/Estado: Montes Claros MG - Zap (38)99831-5319
Curtiu: 0 vez
Mens.Curtidas: 1 vez

juntar arquivos do word

Mensagempor rochinha » 22 Jun 2018 13:36

:xau :)Pos
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

juntar arquivos do word

Mensagempor carlos moc » 22 Jun 2018 14:09

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
carlos moc
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 68
Data de registro: 16 Out 2017 15:00
Cidade/Estado: Montes Claros MG - Zap (38)99831-5319
Curtiu: 0 vez
Mens.Curtidas: 1 vez

juntar arquivos do word

Mensagempor rochinha » 22 Jun 2018 22:56

Amiguinhos,

carlos moc
acabei me esquecendo de te agradecer


Que é isso. Aqui somos uma comunidade. É ela quem nos agradece em buscar soluções e avolumar conhecimento.

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 fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes




Retornar para FiveWin

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro