Olá amigos, minha dúvida agora é a seguinte, criei um formulário que obtivesse um registro com base em uma tabela, e que vincule com o word(mala direta) e nesse formulário tem um botão de localizar, que vai localizar o arquivo .dot(modelo de apresentação), e criei um outro botão com a função IMPRIMIR, que vai linkar o documento .dot encontrado no localizador e jogar os campos do formulário no mala direta do word e automaticamente Imprimir... Porém, entretanto, todavia algo esta dando errado, o botão imprimir não ta conseguindo fazer a relação access-word, ele diz que o “Indicador não existe”. Vou passar o algoritmo:
LOCALIZADOR: (essa função está ok)
Private Sub Localizar_Click()
Dim strFiltro As String
Dim strTitulo As String
strFiltro = "Word Documento (*.dot)" & Chr(0) & "*.dot" & Chr(0)
strTitulo = "Selecione o caminho do Arquivo: ''Contrato.dot''"
'Pega o caminho do arquivo
Me.caminhoArquivo = LocalizarArquivo("C:\", strTitulo, strFiltro)
End Sub
EVENTO IMPRIMIR: (Essa função está ok)
Private Sub Imprimir_Click()
If IsNull(Me.caminhoArquivo) Or Me.caminhoArquivo = "" Then
MsgBox "Selecione o caminho do arquivo padrão", vbCritical, "ATENÇÃO"
Exit Sub
End If
If Me.Selecionado = True Then
Call imprimeDoc(Me.caminhoArquivo)
End If
End Sub
AI COLOQUEI ESSE CÓDIGO TAMBÉM NO FORMULÁRIO:
Sub imprimeDoc(strCaminhoNomeDoc As String)
On Error GoTo sai
Dim ObjectWord As New Word.Application
With ObjectWord
'.Documents.Add strCaminhoNomeDoc
.Documents.Open FileName:=strCaminhoNomeDoc
.Selection.GoTo wdGoToBookmark, Name:="Nome” <-esta dando erro nessa linha
.Selection.TypeText UCase(Me.Nome) <-aparece “este indicador não existe”
.Selection.GoTo wdGoToBookmark, Name:="RG"
.Selection.TypeText (Me.RG)
.Selection.GoTo wdGoToBookmark, Name:="Endereço"
.Selection.TypeText (Me.Endereço)
.Selection.GoTo wdGoToBookmark, Name:="DiaNascimento"
.Selection.TypeText (Me.DiaNascimento)
.Selection.GoTo wdGoToBookmark, Name:="Formação_Acadêmica"
.Selection.TypeText (Me.Formação_Acadêmica)
.Selection.GoTo wdGoToBookmark, Name:="Instituição_de_Ensino"
.Selection.TypeText (Me.Instituição_de_Ensino)
.Visible = True
.ActiveDocument.PrintOut Background:=False
.Quit wdDoNotSaveChanges
End With
'Libera a memória
Set ObjectWord = Nothing
Exit Sub
sai:
MsgBox Err.Description, vbCritical, "ERRO"
End Sub
Espero ter formulado com clareza minha dúvida, grato desde Já
Obs: utilizo o Access e Word 2000 (trabalho em órgão público rs)
OBS 2: Fiz as devidas referências a biblioteca.
OBS 3: Função localizar e Imprimir tem seus respectivos MÓDULOS encrementados no banco de dados
OBS 4: Devem estar me perguntando o porque não anexei o arquivo kkk, pois não consegui! :/
LOCALIZADOR: (essa função está ok)
Private Sub Localizar_Click()
Dim strFiltro As String
Dim strTitulo As String
strFiltro = "Word Documento (*.dot)" & Chr(0) & "*.dot" & Chr(0)
strTitulo = "Selecione o caminho do Arquivo: ''Contrato.dot''"
'Pega o caminho do arquivo
Me.caminhoArquivo = LocalizarArquivo("C:\", strTitulo, strFiltro)
End Sub
EVENTO IMPRIMIR: (Essa função está ok)
Private Sub Imprimir_Click()
If IsNull(Me.caminhoArquivo) Or Me.caminhoArquivo = "" Then
MsgBox "Selecione o caminho do arquivo padrão", vbCritical, "ATENÇÃO"
Exit Sub
End If
If Me.Selecionado = True Then
Call imprimeDoc(Me.caminhoArquivo)
End If
End Sub
AI COLOQUEI ESSE CÓDIGO TAMBÉM NO FORMULÁRIO:
Sub imprimeDoc(strCaminhoNomeDoc As String)
On Error GoTo sai
Dim ObjectWord As New Word.Application
With ObjectWord
'.Documents.Add strCaminhoNomeDoc
.Documents.Open FileName:=strCaminhoNomeDoc
.Selection.GoTo wdGoToBookmark, Name:="Nome” <-esta dando erro nessa linha
.Selection.TypeText UCase(Me.Nome) <-aparece “este indicador não existe”
.Selection.GoTo wdGoToBookmark, Name:="RG"
.Selection.TypeText (Me.RG)
.Selection.GoTo wdGoToBookmark, Name:="Endereço"
.Selection.TypeText (Me.Endereço)
.Selection.GoTo wdGoToBookmark, Name:="DiaNascimento"
.Selection.TypeText (Me.DiaNascimento)
.Selection.GoTo wdGoToBookmark, Name:="Formação_Acadêmica"
.Selection.TypeText (Me.Formação_Acadêmica)
.Selection.GoTo wdGoToBookmark, Name:="Instituição_de_Ensino"
.Selection.TypeText (Me.Instituição_de_Ensino)
.Visible = True
.ActiveDocument.PrintOut Background:=False
.Quit wdDoNotSaveChanges
End With
'Libera a memória
Set ObjectWord = Nothing
Exit Sub
sai:
MsgBox Err.Description, vbCritical, "ERRO"
End Sub
Espero ter formulado com clareza minha dúvida, grato desde Já
Obs: utilizo o Access e Word 2000 (trabalho em órgão público rs)
OBS 2: Fiz as devidas referências a biblioteca.
OBS 3: Função localizar e Imprimir tem seus respectivos MÓDULOS encrementados no banco de dados
OBS 4: Devem estar me perguntando o porque não anexei o arquivo kkk, pois não consegui! :/
Última edição por JairJr em 29/7/2013, 21:34, editado 1 vez(es)