AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
21.02.20 - 03:57:18
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News: Jetzt mit HCL Notes / Domino 11 und einem Extraboard für Nomad!
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino Sonstiges
| |-+  OLE/COM-Programmierung
| | |-+  VBA Currentdocument Bearbeitungsmodus prüfen
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: VBA Currentdocument Bearbeitungsmodus prüfen  (Gelesen 4214 mal)
WireD
Frischling
*
Offline Offline

Beiträge: 1


« am: 30.08.12 - 16:58:40 »

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
Gespeichert
Axel
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8658


It's not a bug, it's Notes


« Antworten #1 am: 30.08.12 - 19:40:51 »

Vermutlich knallts in der blauen Zeile. Wenn du das mit Frontend - Methoden machst, dann muss das Dokument im Edit - Modus sein.

...
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
....


Das Prüfen ob das Dokument im Editmodus ist kannst du so machen:

If nUIdoc.EditMode Then
  ' Dok im Editmodus
Else
  ' Dok nicht im Editmodus
End If

Das Dokument in den Editmodus setzen geht dann so:

Call nUIdoc.EditMode = true

Kannst du das Ganze nicht mit Backend-Methoden abfackeln? Dann solltest du weniger Probleme haben.

Axel

 
Gespeichert

Ohne Computer wären wir noch lange nicht hinterm Mond!
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: