GERAR RELATORIO COM WORD 2003

MASTER2020 18/06/2010 16:47:47
#345221
Ola pessoal estou tentando imprimir um relatorio com o word mas nao esta dando certo
o codigo e este

Private Sub cmdimprimir_Click()
[ô]menu Projects|References insira uma referência a : Microsoft Word 8.0 Object Library ou Microsoft Word 9.0 Object Library
Dim temp As String

[ô]On Error GoTo trata_erro

Set ObjWord = New Word.Application
[ô] Desabilita o botao de comando
cmdimprimir.Enabled = False
[ô] nome do relatorio pré montado
ObjWord.Documents.Open ([Ô]c:    este\Contrato.doc[Ô])

[ô] chama rotina para substituicao
Call Substitui_Var([Ô]@Tema [Ô], txttema)
Call Substitui_Var([Ô]@Publico[Ô], txtpublico)
Call Substitui_Var([Ô]@Autor[Ô], txtautor)
Call Substitui_Var([Ô]@Data[Ô], txtdata)
Call Substitui_Var([Ô]@Estudo2[Ô], txtestudo)
[ô]Call Substitui_Var([Ô]@documento[Ô], Data1.Recordset([Ô]cidade[Ô]))
[ô]Call Substitui_Var([Ô]@aluno[Ô], Data1.Recordset([Ô]nome[Ô]))

[ô] Salva o documento com um novo nome
ObjWord.ActiveDocument.SaveAs (txtestudo)
[ô]Encerra o word
ObjWord.Quit
[ô] informa ao usuario que o contrato foi gerado
MsgBox [Ô]Estudo gerado com sucesso! em : [Ô] & txttema, vbInformation, [Ô] Estudo Gerado [Ô]
[ô] libera memoria
Set ObjWord = Nothing
Exit Sub
End Sub

Private Sub Substitui_Var(Header As String, Data As String)
With ObjWord.Selection.Find
.ClearFormatting
.Text = Header
.Execute Forward:=True
End With

Clipboard.Clear
Clipboard.SetText (Data)
ObjWord.Selection.Paste
Clipboard.Clear
End Sub


da erro nesta linha

With ObjWord.Selection.Find



MASTER2020 19/06/2010 09:14:36
#345247
no erro pede pra mesclar o modelo, mas nao muda nada.
MSMJUDAS 19/06/2010 09:17:12
#345249
Que erro que está aparecendo?

Declarou a variável?



Dim ObjWord As Word.Application
MASTER2020 19/06/2010 14:28:38
#345270
Ola Msmjudas muito obrigado vou postar os erros

o primeiro e este

run time error 424
object requerid

ai aperto so debug

ele mostra esta linha

With ObjWord.Selection.Find

estes sao os erros
MASTER2020 20/06/2010 10:50:08
#345294
Bom dia Menudo, muito obrigado pela dica eu fiz a alteraçao que o amigo mostrou mas agora pontou um erro pra a function, no caso private.

Private Sub Substitui_Var(Header As String, Data As String)
With ObjWord.Selection.Find
.ClearFormatting
.Text = Header
.Execute Forward:=True
End With

Clipboard.Clear
Clipboard.SetText (Data)
ObjWord.Selection.Paste
Clipboard.Clear
End Sub


no sistema o erro e setado nesta linha
Call Substitui_Var que faz parte deste codigo abixo

[ô] chama rotina para substituicao alterada por menudo
Call Substitui_Var([Ô]@Tema [Ô], txttema, ObjWord)
Call Substitui_Var([Ô]@Publico[Ô], txtpublico, ObjWord)
Call Substitui_Var([Ô]@Autor[Ô], txtautor, ObjWord)
Call Substitui_Var([Ô]@Data[Ô], txtdata, ObjWord)
Call Substitui_Var([Ô]@Estudo[Ô], txtestudo, ObjWord)
EDICRI 20/06/2010 12:35:59
#345300
Boa Tarde coelga Patoloco, poderia fazer a gentileza de me enviar esta sua rotina de emitir relatorio utilizando o word, no seu caso e um contrato, gostaria que o amigo me enviasse esta rotina por favor amigo.
Edison roque
edicri@uol.com.br
MASTER2020 20/06/2010 18:10:40
#345314
ola Edicri a rotina inteirra e esta que postei no incio do post

Private Sub cmdimprimir_Click()
[ô]menu Projects|References insira uma referência a : Microsoft Word 8.0 Object Library ou Microsoft Word 9.0 Object Library
Dim temp As String

[ô]On Error GoTo trata_erro

Set ObjWord = New Word.Application
[ô] Desabilita o botao de comando
cmdimprimir.Enabled = False
[ô] nome do relatorio pré montado
ObjWord.Documents.Open ([Ô]c:    este\Contrato.doc[Ô])

[ô] chama rotina para substituicao
Call Substitui_Var([Ô]@Tema [Ô], txttema)
Call Substitui_Var([Ô]@Publico[Ô], txtpublico)
Call Substitui_Var([Ô]@Autor[Ô], txtautor)
Call Substitui_Var([Ô]@Data[Ô], txtdata)
Call Substitui_Var([Ô]@Estudo2[Ô], txtestudo)
[ô]Call Substitui_Var([Ô]@documento[Ô], Data1.Recordset([Ô]cidade[Ô]))
[ô]Call Substitui_Var([Ô]@aluno[Ô], Data1.Recordset([Ô]nome[Ô]))

[ô] Salva o documento com um novo nome
ObjWord.ActiveDocument.SaveAs (txtestudo)
[ô]Encerra o word
ObjWord.Quit
[ô] informa ao usuario que o contrato foi gerado
MsgBox [Ô]Estudo gerado com sucesso! em : [Ô] & txttema, vbInformation, [Ô] Estudo Gerado [Ô]
[ô] libera memoria
Set ObjWord = Nothing
Exit Sub
End Sub

e esta function

Private Sub Substitui_Var(Header As String, Data As String)
With ObjWord.Selection.Find
.ClearFormatting
.Text = Header
.Execute Forward:=True
End With

Clipboard.Clear
Clipboard.SetText (Data)
ObjWord.Selection.Paste
Clipboard.Clear
End Sub
EDICRI 21/06/2010 10:35:53
#345349
Ola meu amigo menudo, tudo bem, o vosso exemplo esta dando erro também amigo!
Edicri
edicri@uol.com.br
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas