Olá pessoal do Fórum!
Tenho um código para transferir informação para um documento do Word, só quando o campo da tabela está vazio ele apresenta erro de execução Null.
Queria saber qual comando eu posso usar para quando o campo estiver vazio ele continua a importação.
Segue abaixo a linha de código.
Fico no aguardo, obrigado.
Tenho um código para transferir informação para um documento do Word, só quando o campo da tabela está vazio ele apresenta erro de execução Null.
Queria saber qual comando eu posso usar para quando o campo estiver vazio ele continua a importação.
Segue abaixo a linha de código.
- Código:
Sub SubstituirCamposNoWordCapa()
Dim wdApp As Object
Dim wdDoc As Object
Dim caminhoDocumento As String
Dim textoParaSubstituir As String
Dim novoTexto As String
Dim campos As Object
Dim campo As Variant
Dim campoNome As String
Dim campoValor As String
' Caminho do documento do Word
caminhoDocumento = "C:\XJPerito\Capa.docx"
' Criar um array ou coleção com pares de texto para substituir e novos textos
Set campos = CreateObject("Scripting.Dictionary")
campos.Add "<>", Forms!Frm_Cadastro_Processo_Consulta!Num_Processo
campos.Add "<>", Forms!Frm_Cadastro_Processo_Consulta!Vara
campos.Add "<>", Forms!Frm_Cadastro_Processo_Consulta!Pasta
campos.Add "<>", Forms!Frm_Cadastro_Processo_Consulta!Reclamante
campos.Add "<>", Forms!Frm_Cadastro_Processo_Consulta!Reclamada
campos.Add "<>", Forms!Frm_Cadastro_Processo_Consulta!Data_Pericia
campos.Add "<>", Forms!Frm_Cadastro_Processo_Consulta!Data_Laudo
campos.Add "<>", Forms!Frm_Cadastro_Processo_Consulta!Data_PQC
campos.Add "<>", Forms!Frm_Cadastro_Processo_Consulta!Responder_IQC
campos.Add "<>", Forms!Frm_Cadastro_Processo_Consulta!Observacao
' Iniciar o Word e abrir o documento
Set wdApp = CreateObject("Word.Application")
Set wdDoc = wdApp.Documents.Open(caminhoDocumento)
' Tornar o Word visível
wdApp.visible = True
' Substituir cada campo no documento
For Each campo In campos.Keys
campoNome = campo
campoValor = campos(campo)
With wdDoc.Content.Find
.text = campoNome
.Replacement.text = campoValor
.Forward = True
.Wrap = 1 ' wdFindStop
.Execute Replace:=2 ' wdReplaceAll
End With
Next campo
' Mensagem de confirmação
MsgBox "Campos substituídos com sucesso.", vbInformation
' Nota: Não fecharemos o documento aqui para permitir revisão
' Se desejar fechar o documento automaticamente após a substituição, descomente a linha abaixo
' wdDoc.Close SaveChanges:=True
' Se desejar manter o documento aberto para revisão, comente a linha acima
' Limpar objetos
' Não feche o Word se você deseja revisar o documento
' wdApp.Quit
' Set wdDoc = Nothing
' Set wdApp = Nothing
End Sub
Fico no aguardo, obrigado.