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.