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.
Ottengo puntualmente l'errore "Tipo non corrispondente (errore 13)".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
Ho provato anche
ottenendo il medesimo errore.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
Passando il mouse su MyRange ottengo il valore "Car" che è il valore vero che appare su foglio Word.
Qualche suggerimento?

Rispondi quotando