GERAR RELATORIO COM WORD 2003
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
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
no erro pede pra mesclar o modelo, mas nao muda nada.
Que erro que está aparecendo?
Declarou a variável?
Dim ObjWord As Word.Application
Declarou a variável?
Dim ObjWord As Word.Application
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
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
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)
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)
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
Edison roque
edicri@uol.com.br
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
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
Ola meu amigo menudo, tudo bem, o vosso exemplo esta dando erro também amigo!
Edicri
edicri@uol.com.br
Edicri
edicri@uol.com.br
Tópico encerrado , respostas não são mais permitidas