Autor Thema: workspace.EDITDOCUMENT Problem bitte um Unterstützung  (Gelesen 6530 mal)

Offline MichaelS

  • Frischling
  • *
  • Beiträge: 9
Hallo Leute,

bin neu hier,  ich hoffe jemand kann mir weiterhelfen. :D

Das Problem:

ich habe ich VBA (Access 97) eine Routine geschrieben um die Mails
über Lotus Notes zu versenden.

Nun möchte dass, der User die Möglichkeit hat die Mails vor dem versenden zu bearbeiten. Ich meine das müsste Über "workspace.EDITDOCUMENT(True, domNotesDocumentMemo).GOTOFIELD("Subject") " funktionieren.

Nur erscheint hier die Fehlermeldung ("Extended Object Failure ") oder so ähnlich. ???

Hier der komplette Code:

***************************************
Public Sub test()

Dim domSession As New NotesSession
Dim domNotesDatabaseMailFile As NotesDatabase
Dim domNotesDocumentMemo As NotesDocument
Dim domNotesRichTextItemBody As NotesRichTextItem
Dim strattachment As String
Dim workspace As Object
Dim SendTo As String


' Put your passwork in the quotes below to skip propting
domSession.Initialize ("")


Set domNotesDatabaseMailFile = domSession.GetDatabase("", "mail\mschindl.nsf")

' Generate an error if previous attempts were unsuccessful.
If domNotesDatabaseMailFile Is Nothing Then
MsgBox ("Mail file not open")
Exit Sub
End If

SendTo = "Mailadresse"

Set domNotesDocumentMemo = domNotesDatabaseMailFile.CreateDocument
Call domNotesDocumentMemo.AppendItemValue("Form", "Memo")
Call domNotesDocumentMemo.AppendItemValue("From", domSession.CommonUserName)
Call domNotesDocumentMemo.AppendItemValue("SendTo", SendTo)
Call domNotesDocumentMemo.AppendItemValue("Subject", "Derzeitiger Stand zum Testsystem")
Set domNotesRichTextItemBody = domNotesDocumentMemo.CreateRichTextItem("Body")
domNotesRichTextItemBody.AppendText ("das ist ein test")
domNotesRichTextItemBody.AddNewLine (2)
' This is where you can add support for attachments.
strattachment = "Anhang"
Call domNotesRichTextItemBody.EmbedObject(EMBED_ATTACHMENT, "", strattachment) 'attaches the file to the

body field
' Send the document.

Set workspace = CreateObject("Notes.NotesUIWorkspace")
domNotesDocumentMemo.SaveMessageOnSend = True

Call workspace.EDITDOCUMENT(True, domNotesDocumentMemo).GOTOFIELD("Subject") ' hier erschneint die       

                          ' Fehlermeldung irgendwas mit          

                       ' "Extended Object failure"

Set domSession = Nothing

End Sub

**************************************************

Vielen Dank!

Michael.

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #1 am: 11.01.05 - 13:49:03 »
Mach das nacheinander:

set uidoc = workspace.EDITDOCUMENT(True, dommNotesDocumentMemo)
call uidoc.GOTOFIELD("Subject")

Dann siehst Du wohl auch, wo das Problem wirklich liegt
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline MichaelS

  • Frischling
  • *
  • Beiträge: 9
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #2 am: 11.01.05 - 13:52:31 »

Vielen Dank Semeaphoros,

werde später ausprobieren, bin zur Zeit an einem Rechner ohne Lotus Notes Client.

Gruß

Michaels

Offline MichaelS

  • Frischling
  • *
  • Beiträge: 9
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #3 am: 11.01.05 - 16:45:38 »
Hallo,

habe das jetzt so gemacht wie es Semeaphoros empfohlen hat.

beim abarbeiten dieser Zeile

Set uidoc = workspace.EDITDOCUMENT(True, domNotesDocumentMemo)

erscheint die Fehlermeldung: "Laufzeit fehler '7419' Incorrect argument Type: object expected"
Was nun ???

Vielen Dank!

MichaelS.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #4 am: 11.01.05 - 18:01:41 »
Hi,

wo hast du den die Variable uidoc deklariert?

Versuch's mal beim "gedimse" mit der Zeile

Dim uidoc As NotesUIDocument


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #5 am: 11.01.05 - 18:05:17 »
Guter Blick, Axel  ;)

Man sollte NIE-NIE-NIEMALS eine einzige Zeile Code schreiben, ohne vor
Option Explicit
oder
Option Declare (nur LS)
gesetzt zu haben. Das erspart soviel Zeit an vollkommen nutzloser Fehlersuche ...

Bernhard

Offline MichaelS

  • Frischling
  • *
  • Beiträge: 9
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #6 am: 11.01.05 - 18:29:25 »
Hallo,

So hier ist  nochmal der komplette code mit dem gedimse, war aber auch schon so
das weiter oben war veraltert.

'********************************************
Public Sub test()

Dim domSession As New NotesSession
Dim domNotesDatabaseMailFile As NotesDatabase
Dim domNotesDocumentMemo As NotesDocument
Dim domNotesRichTextItemBody As NotesRichTextItem
Dim strattachment As String
Dim workspace As Object
Dim uidoc As NOTESUIDOCUMENT


' Put your passwork in the quotes below to skip propting
domSession.Initialize ("")
'On Error GoTo ErrorHandler

' Either SendTo, CopyTo, or BlindCopyTo is required.

Set domNotesDatabaseMailFile = domSession.GetDatabase("", "mail\mschindl.nsf")

' Generate an error if previous attempts were unsuccessful.
If domNotesDatabaseMailFile Is Nothing Then
MsgBox ("Mail file not open")
Exit Sub
End If

Dim SendTo As String
SendTo = "schindlm@tiscali.de"


Set domNotesDocumentMemo = domNotesDatabaseMailFile.CreateDocument
Call domNotesDocumentMemo.AppendItemValue("Form", "Memo")
Call domNotesDocumentMemo.AppendItemValue("From", domSession.CommonUserName)
Call domNotesDocumentMemo.AppendItemValue("SendTo", SendTo)
Call domNotesDocumentMemo.AppendItemValue("Subject", "Derzeitiger Stand zum Testsystem")
Set domNotesRichTextItemBody = domNotesDocumentMemo.CreateRichTextItem("Body")
domNotesRichTextItemBody.AppendText ("das ist ein test")
domNotesRichTextItemBody.AddNewLine (2)
' This is where you can add support for attachments.
strattachment = "C:\Dokumente und Einstellungen\User_BuyOne\Eigene Dateien\vertreter.txt"
Call domNotesRichTextItemBody.EmbedObject(EMBED_ATTACHMENT, "", strattachment) 'attaches the file to the body field

Set workspace = CreateObject("Notes.NotesUIWorkspace")
domNotesDocumentMemo.SaveMessageOnSend = True

Set uidoc = workspace.EDITDOCUMENT(True, domNotesDocumentMemo)
Call uidoc.GOTOFIELD("Subject")

 'domNotesDocumentMemo.Send (False)

Set domSession = Nothing

End Sub


'***********************************************
Was mir noch auffällt dass, im "Dim uidoc As NOTESUIDOCUMENT" das NOTESUIDOCUMENT automatisch groß erscheint auch wenn man das klein schreibt. bei z. Bsp NotesSession ist das nicht so.

Ach so und ich habe versucht  workspace als "workspace As New NOTESUIWORKSPACE" zu deklarieren, hier erscheint die Fehlermeldung "Fehler beim kompilieren: unzulässige Verwendung des Schlüsselworts 'New'"

den Verweis auf die Typenbibliothek existiert jedoch. >:(

Bitte um Hilfe

MichaelS.

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #7 am: 11.01.05 - 18:38:46 »
Aha, das steht in der Designer-Hilfe bei NotesUIDocument:


Note  This class is not supported in COM.


Ergo: Man müsste das über Ole lösen statt Com .....
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #8 am: 11.01.05 - 18:42:50 »
Hi,

in der Online-Hilfe steht bei allen UI-Klassen, dass sie über die COM-Schnittstelle nicht unterstützt wird.

Ich glaube über diesen Weg kommt du nicht weiter.


Axel



Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #9 am: 11.01.05 - 18:48:22 »
Genau, das war auch, was mir dunkel schon den ganzen Tag im Kopf herumkurvte .... :) ..... da muss wirklich ein anderer Weg her.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline MichaelS

  • Frischling
  • *
  • Beiträge: 9
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #10 am: 11.01.05 - 18:57:30 »
Danke,

nur wenn ich mit OLE Klasse arbeite,

dann muss man eine Session wie z.Bsp hier starten

"Set objNotes = GetObject("", "Notes.Notessession")"

Das Problem ist, dass bei dieser Methode mit Starten des Clients auch Lotus Notes als Anwendung mit geöffnet wird.

Ihr habt natürlich recht mit der Ole Klasse hat das funktioniert.
Hab am Anfang auch damit angefangen hier hatte ich nur das Problem dass, die Anwendung immer mit startete. Ich will aber dem Benützer die Auswahl gebenn: "Gleich senden oder vorher editieren".

Muss man dass den wirklich mit zwei verschiedenen Routinen machen?

Und nur so nebenbei bei beenden von Notes erscheint dei Meldung "Sie haben noch ausgehende Mail anstehen. Möchten Sie diese jetzt übertragen"
Kann mit diese Meldung irgendwie deaktivieren am besten per Code(VBA).

Und unter welcher Adresse kann ich die Online Hilfe finden. Bin in dieser Thematik
noch ein Neuling.

Danke!

MichaelS


Offline MichaelS

  • Frischling
  • *
  • Beiträge: 9
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #11 am: 11.01.05 - 19:21:13 »
Hallo,

diesen Code habe ich vorher benützt.

das funktioniert soweit, nur, dass ich hier nicht weiss wie ich verhindern das die Anwendung sich auch mit öffnet.

'*******************************************
Public Sub test()
Dim objNotes As Object, objNotesDB As Object, objNotesMailDoc As Object, workspace As Object
Dim SendItem, rtitem

' Zuweisung der Objektvariablen
    Set objNotes = GetObject("", "Notes.Notessession")
    Set objNotesDB = objNotes.GetDatabase("", "")
    ' Öffnen der Standard-Maildatenbank / Erstellen neues Maildokument
    Call objNotesDB.OPENMAIL
    Set objNotesMailDoc = objNotesDB.CreateDocument
    objNotesMailDoc.Form = "Memo"
    Call objNotesMailDoc.Save(True, False)
    Set SendItem = objNotesMailDoc.AppendItemValue("SendTo", "")
   
     objNotesMailDoc.SendTo = "schindlm@tiscali.de"
    'objNotesMailDoc.CopyTo = cc
    'objNotesMailDoc.BlindCopyTo = bcc
    objNotesMailDoc.Subject = "test"
    Set rtitem = objNotesMailDoc.CreateRichTextItem("Body")
    objNotesMailDoc.Body = "nachricht"
    rtitem.AddNewLine (1)
   
    Call rtitem.EmbedObject(1454, "", "C:\Dokumente und Einstellungen\User_BuyOne\Eigene Dateien\vertreter.txt")

    Set workspace = CreateObject("Notes.NotesUIWorkspace")
   
    Call workspace.EDITDOCUMENT(True, objNotesMailDoc).GOTOFIELD("Subject")

End Sub
'**************************************************

Dieser Code funktioniert auch ohne Verweis auf die Notes Bibliothek.

MichaelS

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #12 am: 11.01.05 - 20:56:26 »
Naja, sooo gross ist der Unterschied nicht. auch bei COM wird die Serverapplikation gestartet, man sieht das nur nicht unbedingt so gut wie bei Ole, da würd ich mir jetzt mal keine Sorgen machen.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline MichaelS

  • Frischling
  • *
  • Beiträge: 9
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #13 am: 11.01.05 - 22:31:35 »

Was meinst du damit "Man sieht das nicht so gut"?

ich darfs mal zusammenfassen.

1) Über COM kann man im Hintergrund (ohne, dass Notes als   Anwendung läuft) ein Mail versenden. In diesem Fall kann ich jedoch das Mail nicht zum editieren öffnen.

2) Über OLE kann ich ein Mail versenden und zum Editieren öffnen.
Jedoch wird hier die Lotus Notes Anwendung mitgeöffnet

Ist das soweit richtig?

Gruss

MichaelS

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #14 am: 11.01.05 - 22:41:51 »
Jo, Michael, das ist richtig so. Wegen der OLE-Lösung: Du kannst ja kaum ein Notes-Mail editieren, wenn der Notes-Client nicht zur Verfügung steht, oder ? Das käme ja nicht so gut. FontEnd - Client muss laufen, ergo OLE. Für das Backend "reicht" COM.

Bernhard
« Letzte Änderung: 12.01.05 - 00:10:17 von koehlerbv »

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #15 am: 11.01.05 - 22:56:52 »
Genau so ist es, logischerweise muss Notes sichtbar werden, wenn man editieren will. Allerdings mit dem Laufen das ist so eine Sache .... Notes "läuft" in beiden Fällen, einmal im Vordergrund mit voller Funktionalität (lässt sich aber minimieren), das andere mal im Hintergrund, damit natürlich auch ohne FrontEnd-Funktionalität.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #16 am: 11.01.05 - 23:08:44 »
... das andere mal im Hintergrund, damit natürlich auch ohne FrontEnd-Funktionalität ...

Deswegen heisst das ja auch "FrontEnd", oder, Jens ? Da hast Du Dich jetzt aber im Kreis gedreht und das Bekannte nochmals betont.

Bernhard

Offline MichaelS

  • Frischling
  • *
  • Beiträge: 9
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #17 am: 11.01.05 - 23:50:32 »
Nun Gut.

der Gedanke war folgender: Ist Lotus Notes aktiv, dann wird das Mail verschickt und Notes Frontend  bleibt Offen.

Ist jedoch LS geschlossen. Dann muss ich zuerst die Frontend öffnen, soweit so gut.  Anschliessend muss die Frontend geschlossen werden.
Ich möchte nicht unbedingt dem Benutzer zumuten die Anwendung immer manuell zu schliessen.

So und ich hier habe ich ein Problem, das Schliessen der Anwendung über die Api und ProzessId  ist ja grundsätzlich kein Problem.

Nur erscheint hier bei local eingerichteter Mail der Hinweis:
 
"Sie haben ausgehende Mail anstehen. Möchten Sie sie jetzt übertragen"

In dieser Zeit steht mein Programm (ShellWait) und wartet auf das Beenden von LS.

Bei dieser Meldung hat man drei Auswahl-Möglichkeiten.

1) JA
2) Nein
3) Abbrechen.

mit "JA" und "Nein" kann ich leben,

da bei "Ja" betätigen die Replizierung gestartet wird und anschliessend LS beendet wird.

Bein "Nein" schliesst LS sofort.

Bei "Abbrechen" komm ich ins schwitzen: Mein Programm wartet in einer Schleife auf das Beenden von LS und LS bleibt natürlich in diesem Fall offen.


So und jetzt die Fragen:

gibt eine Möglichkeit Lotus Notes zu beenden ohne, dass dieser Warnhinweis erscheint.

Vielen Dank!


Michael.

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #18 am: 12.01.05 - 06:45:07 »
oder, Jens ? Da hast Du Dich jetzt aber im Kreis gedreht und das Bekannte nochmals betont.

Richtig und bewusst, weil genau das offenbar noch nicht klar genug rüber gekommen war.


Michael: Dort, wo Du LS schreibst, meinst Du wohl eher LN - oder? Diese Meldung mit ausgehenden Mails lässt sich meines Wissens nicht unterbinden.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: workspace.EDITDOCUMENT Problem bitte um Unterstützung
« Antwort #19 am: 12.01.05 - 09:02:48 »
Hi,

ich sehe da auch keine Möglichkeit, die Meldung beim Beenden von Notes zu unterdrücken.

Wieso sollen eigentlich die Mails noch bearbeitet werden? Kannst du das nicht in Access handlen? In diesem Fall kannst du alles mit den Backend-Funktionen regeln.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz