Hallo,
ich doktor jetzt schon den ganzen Tag an meinem Problem herum. Kurz zur Ausgangslage - vorab: Die muss so sein, sonst gehts nicht:
Ziel ist es, Serienfaxe aus einem Serienbrief von Word aus zu versenden. Da ich User mit sehr eingeschränkten Rechten bin, bediene ich mich eines Fax - Tiff Druckers. Wenn dieser Drucker fertig ist, übernehme ich per VBA die Steuerung von Notes und trage in das "An" Feld die Faxnummer ein.
Bisher hat das Programm auch sehr gut funktioniert, beim Kollegen als auch bei mir. Seit gestern wills nicht mehr - LN (8.5) bringt mir die Fehlermeldung: Um den Wert eines Feldes ändern zu können, müssen sie im Bearbeitungsmodus sein, und VBA die Fehlermeldung: Objektvariable oder With - Block nicht festgelegt.
Das irritierende ist, dass ich nicht eingrenzen kann, der Fehler kommt nach einer unterschiedlichen Anzahl von Sendungen, wobei die Anzahl immer kleiner wird, nach einer Wartezeit ist sie dann wieder größer.
Ich hatte ja die Vermutung, dass Notes "Bearbeitungszeit braucht, daher die Sleeps und die DoEvents, aber das löst mein Problem nicht.
Gibt es die Möglichkeit zu prüfen, ob das aktuelle Dokument im Bearbeitungsmodus ist?
Hier mal der Code:
'"Ausdruck" an Faxdrucker
ObjWord.PrintOut
'Nur beim ersten mal dauerts länger
If i = 1 Then
Sleep 3000
End If
DoEvents
'Sleeptimer, damit das Drucken sicher beendet ist 3 Sek
Sleep 3000
DoEvents
'Verbinden mit Notes und Übernahme der Kontrolle
Set nSession = CreateObject("Notes.NotesSession")
Set nUIWorkSpace = CreateObject("Notes.NotesUIWorkspace")
Set nUIdoc = nUIWorkSpace.CURRENTDOCUMENT
DoEvents
'Faxnummer eintragen
nUIdoc.FIELDSETTEXT "EnterSendTo", faxNr
DoEvents
'Falls nur vorbereiten....
If CheckBox2 = True Then
GoTo Jump
End If
'...sonst...
nUIdoc.Send 'Fax senden
nUIdoc.Save '...speichern
nUIdoc.Close '...schließen
DoEvents
'Verbindung kappen (bei mehr als einer Verbindung kommt eine Fehlermeldung)
Jump:
Set nUIdoc = Nothing
Set nUIWorkSpace = Nothing
Set nSession = Nothing
Viele Grüße und vielen Dank,
Philipp