SALVE,
in ambiente MSOffice2003 sto preparando un'applicazione MSAccess che banalmente - attraverso Automazione Word - esegue un Mailmerge.
Dovendo prevedere l'inserimento di una clausola If...then...else ed avendo preparato una maschera con i campi adeguati - simile a quella che appare eseguendo la StampaUnione da Word - ho scritto il seguente codice che si attiva non appena l'utente invia dalla maschera.
(Premetto che sul foglio Word ho già scritto la parola "Car" a cui dovrei far seguire "a" o "o" a seconda del genere.
codice:
Private Sub CreateIF()
ActiveDocument.Select
ActiveDocument.MailMerge.Fields.AddIf Range:=Selection.Range, _
MergeField:="Gender", _
Comparison:=wdMergeIfEqual, _
CompareTo:="F", _
TrueAutoText:="", TrueText:="a", _
FalseAutoText:="", FalseText:="o"
End Sub
Ottengo puntualmente l'errore "Tipo non corrispondente (errore 13)".
Ho provato anche
codice:
Private Sub CreateIF()
Dim MyRange As Range
Set MyRange = ActiveDocument.Content
MyRange.Collapse Direction:=wdCollapseEnd
MyRange.MoveEnd Unit:=wdCharacter, Count:=-1
ActiveDocument.MailMerge.Fields.AddIf Range:=MyRange, _
MergeField:="Gender", _
Comparison:=wdMergeIfEqual, _
CompareTo:="F", _
TrueAutoText:="", TrueText:="a", _
FalseAutoText:="", FalseText:="o"
End Sub
ottenendo il medesimo errore.
Passando il mouse su MyRange ottengo il valore "Car" che è il valore vero che appare su foglio Word.
Qualche suggerimento?