Variables en Macros Word

leo nunez
10 de Agosto del 2004
Hola,
Tengo el problema que al usar campos de tipo {DOCVARIABLE myVariable} y al setearlas por codigo VBA no se me actualizan en la presentacion preliminar del informe pero si al imprimir el documento Word. Mi pregunta es : Que atributo de los objetos de word debo setear para que se me actualizen los valores del informe al realizar una presentacion preliminar y no al imprimirse. (Ya que esta opcion se marca dentro de las preferencias del word.)

Cualquier ayuda Muchas Gracias!

Public Sub Informe(ByVal Hoja As String)

Dim objWord As Object
Dim objDoc As Object
Dim k As Integer

Set objWord = CreateObject("Word.Application.9")
objWord.Visible = False
objWord.Documents.Open Worksheets(Hoja).Cells(518, 1).Text

Set objDoc = objWord.Documents(1)

'aqui elimino las variables del documento
For k = objDoc.Variables.Count To 1 Step -1
objDoc.Variables.Item(k).Delete
Next k

objWord.ScreenUpdating = False

'aqui agrego variables y valores desde una planilla excel.
With objDoc
.Variables.Add "Encabezado", Worksheets("proyec_saldo").Cells(2, 12)
.Variables.Add "Rut", Worksheets("proyec_saldo").Cells(3, 12)
.Variables.Add "Edad", Worksheets("proyec_saldo").Cells(8, 5)
.Variables.Add "EstadoCivil", Worksheets("proyec_saldo").Cells(4, 12)
.Variables.Add "Conyuge", Worksheets("proyec_saldo").Cells(5, 12)
.Variables.Add "NumeroDeHijos", Worksheets("proyec_saldo").Cells(6, 12)

'datos cuenta obligatoria
.Variables.Add "CtaOblSaldo", Worksheets("proyec_saldo").Cells(5, 2).Text
.Variables.Add "CtaOblSaldoUF", Worksheets("proyec_saldo").Cells(7, 12).Text
.Variables.Add "CtaOblF1", Worksheets(Hoja).Cells(519, 1)
.Variables.Add "CtaObliP1", Worksheets(Hoja).Cells(520, 1).Text
.Variables.Add "CtaOblF2", IIf(Worksheets(Hoja).Cells(521, 1) = "", " ", Worksheets(Hoja).Cells(521, 1).Text)
.Variables.Add "CtaOblP2", IIf(Worksheets(Hoja).Cells(522, 1) = "", " ", Worksheets(Hoja).Cells(522, 1).Text)

'datos cuenta voluntaria
.Variables.Add "CtaVol", IIf(Worksheets("proyec_saldo").Cells(5, 1icon_cool.gif = "", " ", Worksheets("proyec_saldo").Cells(5, 1icon_cool.gif.Text)
.Variables.Add "CtaVolUF", IIf(Worksheets("proyec_saldo").Cells(4, 1icon_cool.gif = "", " ", Worksheets("proyec_saldo").Cells(4, 1icon_cool.gif.Text)
.Variables.Add "CtaVolF1", IIf(Worksheets(Hoja).Cells(523, 1) = "", " ", Worksheets(Hoja).Cells(523, 1).Text)
.Variables.Add "CtaVolP1", IIf(Worksheets(Hoja).Cells(524, 1) = "", " ", Worksheets(Hoja).Cells(524, 1).Text)
.Variables.Add "CtaVolF2", IIf(Worksheets(Hoja).Cells(525, 1) = "", " ", Worksheets(Hoja).Cells(525, 1).Text)
.Variables.Add "CtaVolP2", IIf(Worksheets(Hoja).Cells(526, 1) = "", " ", Worksheets(Hoja).Cells(526, 1).Text)

'datos deposito
.Variables.Add "DepCon", IIf(Worksheets("proyec_saldo").Cells(5, 32) = "", " ", Worksheets("proyec_saldo").Cells(5, 32).Text)
.Variables.Add "DepConUF", IIf(Worksheets("proyec_saldo").Cells(4, 32) = "", " ", Worksheets("proyec_saldo").Cells(4, 32).Text)
.Variables.Add "DepConF1", IIf(Worksheets(Hoja).Cells(527, 1) = "", " ", Worksheets(Hoja).Cells(527, 1).Text)
.Variables.Add "DepConP1", IIf(Worksheets(Hoja).Cells(528, 1) = "", " ", Worksheets(Hoja).Cells(528, 1).Text)
.Variables.Add "DepConF2", IIf(Worksheets(Hoja).Cells(529, 1) = "", " ", Worksheets(Hoja).Cells(529, 1).Text)
.Variables.Add "DepConP2", IIf(Worksheets(Hoja).Cells(530, 1) = "", " ", Worksheets(Hoja).Cells(530, 1).Text)

'bono reconocimiento
.Variables.Add "Bono", IIf(Worksheets("proyec_saldo").Cells(7, 9) = "", " ", Worksheets("proyec_saldo").Cells(7, 9).Text)
.Variables.Add "BonoUF", IIf(Worksheets("proyec_saldo").Cells(8, 9) = "", " ", Worksheets("proyec_saldo").Cells(8, 9).Text)

'datos ahorro
.Variables.Add "CtaAho", IIf(Worksheets("proyec_saldo").Cells(5, 46) = "", " ", Worksheets("proyec_saldo").Cells(5, 46).Text)
.Variables.Add "CtaAhoUF", IIf(Worksheets("proyec_saldo").Cells(4, 46) = "", " ", Worksheets("proyec_saldo").Cells(4, 46).Text)
.Variables.Add "CtaAhoF1", IIf(Worksheets(Hoja).Cells(531, 1) = "", " ", Worksheets(Hoja).Cells(531, 1).Text)
.Variables.Add "CtaAhoP1", IIf(Worksheets(Hoja).Cells(532, 1) = "", " ", Worksheets(Hoja).Cells(532, 1).Text)
.Variables.Add "CtaAhoF2", IIf(Worksheets(Hoja).Cells(533, 1) = "", " ", Worksheets(Hoja).Cells(533, 1).Text)
.Variables.Add "CtaAhoP2", IIf(Worksheets(Hoja).Cells(534, 1) = "", " ", Worksheets(Hoja).Cells(534, 1).Text)

.Variables.Add "RtaBruta", Worksheets("proyec_saldo").Cells(1, 2).Text
.Variables.Add "RtaBrutaUF", Worksheets("proyec_saldo").Cells(8, 12).Text
.Variables.Add "RtaImpPro", Worksheets("proyec_saldo").Cells(9, 12).Text
.Variables.Add "RtaImpProUF", Worksheets("proyec_saldo").Cells(10, 12).Text
.Variables.Add "ValorUF", Worksheets("paramgene").Cells(2, 3).Text

.Variables.Add "PaMonCV", IIf(Worksheets("proyec_saldo").Cells(6, 1icon_cool.gif.Text = "", " ", Worksheets("proyec_saldo").Cells(6, 1icon_cool.gif.Text)
.Variables.Add "PaPerioCV", IIf(Worksheets("proyec_saldo").Cells(9, 21).Text = "", " ", Worksheets("proyec_saldo").Cells(9, 21).Text)
.Variables.Add "PaFechaDCV", IIf(Worksheets("proyec_saldo").Cells(7, 22).Text = "", " ", Worksheets("proyec_saldo").Cells(7, 22).Text)
.Variables.Add "PaFechaHCV", IIf(Worksheets("proyec_saldo").Cells(8, 22).Text = "", " ", Worksheets("proyec_saldo").Cells(8, 22).Text)

.Variables.Add "PaMonDC", IIf(Worksheets("proyec_saldo").Cells(6, 32).Text = "", " ", Worksheets("proyec_saldo").Cells(6, 32).Text)
.Variables.Add "PaPerioDC", IIf(Worksheets("proyec_saldo").Cells(9, 34).Text = "", " ", Worksheets("proyec_saldo").Cells(9, 34).Text)
.Variables.Add "PaFechaDDC", IIf(Worksheets("proyec_saldo").Cells(7, 36).Text = "", " ", Worksheets("proyec_saldo").Cells(7, 36).Text)
.Variables.Add "PaFechaHDC", IIf(Worksheets("proyec_saldo").Cells(8, 36).Text = "", " ", Worksheets("proyec_saldo").Cells(8, 36).Text)

.Variables.Add "PaMonAH", IIf(Worksheets("proyec_saldo").Cells(6, 46).Text = "", " ", Worksheets("proyec_saldo").Cells(6, 46).Text)
.Variables.Add "PaPerioAH", IIf(Worksheets("proyec_saldo").Cells(9, 4icon_cool.gif.Text = "", " ", Worksheets("proyec_saldo").Cells(9, 4icon_cool.gif.Text)
.Variables.Add "PaFechaDAH", IIf(Worksheets("proyec_saldo").Cells(7, 50).Text = "", " ", Worksheets("proyec_saldo").Cells(7, 50).Text)
.Variables.Add "PaFechaHAH", IIf(Worksheets("proyec_saldo").Cells(8, 50).Text = "", " ", Worksheets("proyec_saldo").Cells(8, 50).Text)
End With

If objWord.PrintPreview = False Then
objDoc.PrintPreview
End If

objWord.ScreenUpdating = True

objDoc.Save
objWord.Visible = True

Set objWord = Nothing

End Sub

leo nunez
10 de Agosto del 2004
con esta linea se soluciono mi problema

objDoc.Fields.Update