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

Moderador: Moderadores
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
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.
acabei me esquecendo de te agradecer
Usuários vendo este fórum: Nenhum usuário registrado online e 13 visitantes