Boa Noite,
Como sempre venho pedir ajuda dos amigos, na certeza que aqui encontrarei a solução.
Tenho um formulário do access com um botão para com base nos dados do formulário, gerar um arquivo do word e salvá-lo.
Achei neste fórum a rotina para tal, entretanto esta dando "erro de compilação" e que "é impossível localizar o projeto ou a biblioteca", e vai direito para a linha Word As New Word.Application.
Além deste erro, o arquivo do word que serve de base, fica aberto na memória impedindo qualquer alteração, mesmo com o office fechado.
Abaixo segue a rotina encontrada aqui no fórum.
Como resolver??? Para que eu possa do formulário do access criar e salvar um documento do word com base nos campos do formulário?
Private Sub GerarAtoARI_Click() 'geraratoari é o botão no formulário de nome geral
#Const DESENV = -1
Dim oApp As Object 'Cria uma variável objeto
' Inicia o MS Word
Set oApp = CreateObject("Word.Application") 'Cria e abre o objeto Word
With oApp
' Torna o MS Word visível
Visible = True
' Abre o documento base a APOSENTADORIA-INICAL.dot, que se encontra no caminho descrito
.Documents.Open ("C:\Users\FERNANDO\Documents\01-FERNANDO\02-Trabalho\2016\01-ATOS\APOSENTADORIA-INICAL.dot")
'Move cada campo para o indicador definido no documento
.ActiveDocument.Bookmarks("JURISDICIONADO").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!JurisdicionadoCRPFOR)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("CATEGORIA").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!CategoriaDoRegistroCRPFOR))' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("SUBCATEGORIA").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!SubCategoriaDoRegistroCRPFOR))' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("BENEFICIO").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!BeneficioDoAposentadoBENAPOSENTADO)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("NUMEROPROCESSO").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!RegistroProcessualCRPFOR)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("ORIGEM").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!JurisdicionadoCRPFOR)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("BENEFICIO2").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!BeneficioDoAposentadoBENAPOSENTADO)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("INTERESSADO").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!NomeDoAposentadoBENAPOSENTADO)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("IDADE").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!IdadeDataAtoDoAposentadoBENAPOSENTADO)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("FLIDADE").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!FlsAtoDoAposentadoBENAPOSENTADO)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("NUMEROPROCESSOPADRAO").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!RegistroProcessualPadrao1ACRPFOR)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("SIGLA").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!SiglaJurisdicionadoCRPFOR)) ' campo no formulário de nome GERAL
'Salva o arquivo gerado
.ActiveDocument.SaveAs "C:\Users\FERNANDO\Documents\01-FERNANDO\02-Trabalho\2016\01-ATOS\""(" & Me.RegistroProcessualPadrao1ACRPFOR & " - " & Me.SiglaJurisdicionadoCRPFOR & " - " & Me.SubCategoriaDoRegistroCRPFOR & " - " & Me.NomeDoAposentadoBENAPOSENTADO & ")" & ".doc"
'Fecha o documento
.ActiveDocument.Close
End With
'Fecha o Word
oApp.Quit
Dim x As String
x = "C:\Users\FERNANDO\Documents\01-FERNANDO\02-Trabalho\2016\01-ATOS\""(" & Me.RegistroProcessualPadrao1ACRPFOR & " - " & Me.SiglaJurisdicionadoCRPFOR & " - " & Me.SubCategoriaDoRegistroCRPFOR & " - " & Me.NomeDoAposentadoBENAPOSENTADO & ")" & ".doc"
Dim Word As New Word.Application
With Word
.Documents.Open x
.Visible = True
.WindowState = wdWindowStateMaximize
End With
'Libera a memória
Set oApp = Nothing
Saida:
Exit Sub
End Sub
Como sempre venho pedir ajuda dos amigos, na certeza que aqui encontrarei a solução.
Tenho um formulário do access com um botão para com base nos dados do formulário, gerar um arquivo do word e salvá-lo.
Achei neste fórum a rotina para tal, entretanto esta dando "erro de compilação" e que "é impossível localizar o projeto ou a biblioteca", e vai direito para a linha Word As New Word.Application.
Além deste erro, o arquivo do word que serve de base, fica aberto na memória impedindo qualquer alteração, mesmo com o office fechado.
Abaixo segue a rotina encontrada aqui no fórum.
Como resolver??? Para que eu possa do formulário do access criar e salvar um documento do word com base nos campos do formulário?
Private Sub GerarAtoARI_Click() 'geraratoari é o botão no formulário de nome geral
#Const DESENV = -1
Dim oApp As Object 'Cria uma variável objeto
' Inicia o MS Word
Set oApp = CreateObject("Word.Application") 'Cria e abre o objeto Word
With oApp
' Torna o MS Word visível
Visible = True
' Abre o documento base a APOSENTADORIA-INICAL.dot, que se encontra no caminho descrito
.Documents.Open ("C:\Users\FERNANDO\Documents\01-FERNANDO\02-Trabalho\2016\01-ATOS\APOSENTADORIA-INICAL.dot")
'Move cada campo para o indicador definido no documento
.ActiveDocument.Bookmarks("JURISDICIONADO").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!JurisdicionadoCRPFOR)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("CATEGORIA").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!CategoriaDoRegistroCRPFOR))' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("SUBCATEGORIA").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!SubCategoriaDoRegistroCRPFOR))' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("BENEFICIO").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!BeneficioDoAposentadoBENAPOSENTADO)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("NUMEROPROCESSO").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!RegistroProcessualCRPFOR)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("ORIGEM").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!JurisdicionadoCRPFOR)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("BENEFICIO2").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!BeneficioDoAposentadoBENAPOSENTADO)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("INTERESSADO").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!NomeDoAposentadoBENAPOSENTADO)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("IDADE").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!IdadeDataAtoDoAposentadoBENAPOSENTADO)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("FLIDADE").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!FlsAtoDoAposentadoBENAPOSENTADO)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("NUMEROPROCESSOPADRAO").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!RegistroProcessualPadrao1ACRPFOR)) ' campo no formulário de nome GERAL
.ActiveDocument.Bookmarks("SIGLA").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
.Selection.Text = (CStr(Forms!Geral!SiglaJurisdicionadoCRPFOR)) ' campo no formulário de nome GERAL
'Salva o arquivo gerado
.ActiveDocument.SaveAs "C:\Users\FERNANDO\Documents\01-FERNANDO\02-Trabalho\2016\01-ATOS\""(" & Me.RegistroProcessualPadrao1ACRPFOR & " - " & Me.SiglaJurisdicionadoCRPFOR & " - " & Me.SubCategoriaDoRegistroCRPFOR & " - " & Me.NomeDoAposentadoBENAPOSENTADO & ")" & ".doc"
'Fecha o documento
.ActiveDocument.Close
End With
'Fecha o Word
oApp.Quit
Dim x As String
x = "C:\Users\FERNANDO\Documents\01-FERNANDO\02-Trabalho\2016\01-ATOS\""(" & Me.RegistroProcessualPadrao1ACRPFOR & " - " & Me.SiglaJurisdicionadoCRPFOR & " - " & Me.SubCategoriaDoRegistroCRPFOR & " - " & Me.NomeDoAposentadoBENAPOSENTADO & ")" & ".doc"
Dim Word As New Word.Application
With Word
.Documents.Open x
.Visible = True
.WindowState = wdWindowStateMaximize
End With
'Libera a memória
Set oApp = Nothing
Saida:
Exit Sub
End Sub