Limpiar y volver a asignar texto a marcadores de word desde excel

Tengo el siguiente código para enviar datos de excel, a traves de variables a word. El problema que surge es al querer "blanquear" el marcador en word y volver a escribir con el nuevo valor de la variable, no lo hace, y al valor que ya tenia ese marcardor le agrega el nuevo valor de la variable.

Les paso el código vba

Public Sub AbreDoc()

Dim objWord As Word.Application

Dim vNomDoc As String
Dim vExisteDoc As String
Dim wDatos As String
Dim wRango As String
Dim wDoc As Word.Document
Dim wMarcador As String
Dim wRange As Word.Range
Dim wRangoStart As Long
Dim wRangoEnd As Long
Application.ScreenUpdating = False

vRutaDoc = ""
vExisteDoc = ""
On Error Resume Next

vNomDoc = vPaciente2 & " (" & vNroInt2 & ").docx"
vRutaDoc = "c:\Users\gando\Google Drive\Partes\" & vNomDoc
vExisteDoc = Dir(vRutaDoc)
On Error GoTo 0
If vExisteDoc <> "" Then
  Set objWord = CreateObject("Word.Application")
  objWord.Documents.Open (vRutaDoc)
  Set wDoc = objWord.Documents.Open(vRutaDoc)
'  wDoc.Activate
'  objWord.Activate
Stop
 wNombre = vPaciente2 & " (" & vNroInt2 & ")"
With objWord.ActiveDocument.Bookmarks
'Blanqueo Marcadores
.Item("wNomPte").Range.Delete
.Item("wEdad").Range.Delete
.Item("wObrSoc").Range.Delete
.Item("wFchIng").Range.Delete
.Item("wFchEgr").Range.Delete
.Item("wRstPrt").Range.Delete
.Item("wNroPrt").Range.Delete
.Item("wFchDgx").Range.Delete
.Item("wDiasDgx").Range.Delete
.Item("wFchStm").Range.Delete
.Item("wDiasStm").Range.Delete
.Item("wPDVac").Range.Delete
.Item("wFPDVac").Range.Delete
.Item("wSDVac").Range.Delete
.Item("wFSDVac").Range.Delete
.Item("wAtb1").Range.Delete
.Item("wFchAtb1").Range.Delete
.Item("wDiasAtb1").Range.Delete
.Item("wAtb2").Range.Delete
.Item("wFchAtb2").Range.Delete
.Item("wDiasAtb2").Range.Delete
.Item("wAtb3").Range.Delete
.Item("wFchAtb3").Range.Delete
.Item("wDiasAtb3").Range.Delete
.Item("wAtb4").Range.Delete
.Item("wFchAtb4").Range.Delete
.Item("wDiasAtb4").Range.Delete
.Item("wFchSlcSoc").Range.Delete
.Item("wFchTrm").Range.Delete
.Item("wNroTrm").Range.Delete
.Item("wTpoDeriv").Range.Delete
Stop
'Impresión Encabezamiento
 .Item("wNomPte").Range.Text = wNombre
.Item("wEdad").Range.Text = vEdad2
.Item("wObrSoc").Range.Text = vObrSoc2
.Item("wFchIng").Range.Text = vFchIngr2
.Item("wFchEgr").Range.Text = vFchEgr2
.Item("wRstPrt").Range.Text = vCovid2
.Item("wNroPrt").Range.Text = vNroPrt2
.Item("wFchDgx").Range.Text = vFchPrt2
.Item("wDiasDgx").Range.Text = vDiasDiag2
.Item("wFchStm").Range.Text = vFis2
.Item("wDiasStm").Range.Text = vDiasFis2
.Item("wPDVac").Range.Text = vVacCvdA2
.Item("wFPDVac").Range.Text = vFchVacA2
.Item("wSDVac").Range.Text = vVacCvdB2
.Item("wFSDVac").Range.Text = vFchVacB2
.Item("wAtb1").Range.Text = vAtbTcoA2
.Item("wFchAtb1").Range.Text = vFchAtbA2
.Item("wDiasAtb1").Range.Text = vDiasAtbA2
.Item("wAtb2").Range.Text = vAtbTcoB2
.Item("wFchAtb2").Range.Text = vFchAtbB2
.Item("wDiasAtb2").Range.Text = vDiasAtbB2
.Item("wAtb3").Range.Text = vAtbTcoC2
.Item("wFchAtb3").Range.Text = vFchAtbC2
.Item("wDiasAtb3").Range.Text = vDiasAtbC2
.Item("wAtb4").Range.Text = vAtbTcoD2
.Item("wFchAtb4").Range.Text = vFchAtbD2
.Item("wDiasAtb4").Range.Text = vDiasAtbD2
.Item("wFchSlcSoc").Range.Text = vFchSlc2
.Item("wFchTrm").Range.Text = vFchTrm2
.Item("wNroTrm").Range.Text = vNroTrm2
.Item("wTpoDeriv").Range.Text = vTpoDrv2
End With
objWord.ActiveDocument.SaveAs vRutaDoc
objWord.Visible = True

La primera vez toma los datos bien, en la segunda apertura del documento lo que hace es duplicar los datos.

Quisiera ver la posibilidad que me ayuden a lograr el código para poder borrar el texto de los marcadores y poder asignarles el nuevo valor.

Añade tu respuesta

Haz clic para o