Das Notes Forum

Lotus Notes / Domino Sonstiges => OLE/COM-Programmierung => Thema gestartet von: Mr.T am 25.02.08 - 14:03:48

Titel: Aus Excel VBA ein Notesdukument erstellen und einen Anhang einfügen.
Beitrag von: Mr.T am 25.02.08 - 14:03:48
Hallo Gemeinde,

ich verzweifle gerade an einem Problem.
Ich möchte aus EXcel eine Notesdatenbank öffnen, dort ein neues Dokument anlegen und ein Attachment in ein bestimmtes Feld bringen.
Soweit klappt alles nur den blöden Anhang bekomme ich nicht in mein Feld. Der Anhang wird immer am Ende des Dokuments angezeigt.

Mein RichText Feld hat den Namen "AttachedExcel"

Hier ist mal mein VBA Code:

Sub sSendNotesMail(Subject As String, Attachment As Variant, Recipient As String, BodyText As String, SaveIt As Boolean, Entwurf As Boolean, iErr As Integer)
 'Set up the objects required for Automation into lotus notes
        Dim db As Object 'The database
        Dim UserName As String 'The current users notes name
        Dim DbName As String         
        Dim MainDoc As Object 'The document itself
        Dim AttMe As Object 'The attachment richtextfile object
        Dim AttachedExcel As Object 'The attachment richtextfile object
        Dim Session As Object 'The notes session
        Dim EmbedObj As Object 'The embedded object (Attachment)
        'Dim Attachment As Variant
       
        iErr = 0
       
        'Start a session to notes
       ' On Error GoTo ERR1
        Set Session = CreateObject("Notes.NotesSession")
        UserName = Session.UserName
        DbName = "Tems\CancelRequestTP.ntf"
        'Open the mail database in notes
       
        Set db = Session.GetDatabase("XKLN1", DbName)       
        Dim Workspace As Object
        Set Workspace = CreateObject("Notes.NotesUIWorkspace")
       
        Call Workspace.OpenDatabase("XKLN1", DbName)

        If db.IsOpen = True Then
                    'Already open                         
        Else
                 Call Workspace.OpenDatabase("XKLN1", DbName)                 
        End If
       
        Set MainDoc = db.CREATEDOCUMENT
        MainDoc.Form = "CancelRequest"
        MainDoc.Signature1 = UserName
           
        If Attachment <> "" Then
               Set rti = MailDoc.CreateRichTextItem("AttachedExcel")
               Set AttachedExcel = rti.EmbedObject(1454, "", Attachment)
        End If
                                 
                       
        On Error GoTo ERR2
       
       
        Call Workspace.EditDocument(True, MainDoc)
        AppActivate "Lotus Notes", True
       
        'Clean Up
        Set db = Nothing
        Set MainDoc = Nothing
        Set AttachME = Nothing
        Set Session = Nothing
        Set EmbedObj = Nothing
        Exit Sub


DAnke für eure Hilfe!!!
Titel: Re: Aus Excel VBA ein Notesdukument erstellen und einen Anhang einfügen.
Beitrag von: Ralf_M_Petter am 25.02.08 - 15:46:09
Damit Änderungen an Richtextitems im Dokument sichtbar werden, musst du es leider zuerst speichern.  Das ist zwar ärgerlich aber oft nicht wirklich zu ändern, auch wenn es ein paar Stunts gibt um das zu umgehen, halte ich davon nicht viel, da dass nicht immer funktioniert.

Grüße

Ralf
Titel: Re: Aus Excel VBA ein Notesdukument erstellen und einen Anhang einfügen.
Beitrag von: Mr.T am 25.02.08 - 16:00:49
Damit Änderungen an Richtextitems im Dokument sichtbar werden, musst du es leider zuerst speichern.  Das ist zwar ärgerlich aber oft nicht wirklich zu ändern, auch wenn es ein paar Stunts gibt um das zu umgehen, halte ich davon nicht viel, da dass nicht immer funktioniert.

Grüße

Ralf



Danke für die Antwort.
Habe jetzt einen "save" eingebaut bevor ich das Dokument öffne und es funktioniert.

Nur die Darstellung ist noch etwas anders, normalerweise wird der Anhang ja als Excelddatei (icon) dargestellt. Das funktionierst nicht . siehe Bild.
Titel: Re: Aus Excel VBA ein Notesdukument erstellen und einen Anhang einfügen.
Beitrag von: Ralf_M_Petter am 25.02.08 - 16:03:03
Leider ist meines Wissens nach auch das nicht zu ändern.

Grüße

Ralf
Titel: Re: Aus Excel VBA ein Notesdukument erstellen und einen Anhang einfügen.
Beitrag von: Driri am 25.02.08 - 17:03:34
Das Icon wird nur angezeigt, wenn die Datei im Frontend angehängt wird. Im Backend gibt es soweit ich weiß keine Chance.

*urgs* Zu spät, das kommt davon wenn man auf Antworten klickt und erst eine Stunde später auch dazu kommt  ;)
Titel: Re: Aus Excel VBA ein Notesdukument erstellen und einen Anhang einfügen.
Beitrag von: m3 am 25.02.08 - 17:14:53
Mit dem Midas Tools von Ben kann man das, AFAIK, auch im Backend.
http://www.geniisoft.com/showcase.nsf/MidasLSX
Titel: Re: Aus Excel VBA ein Notesdukument erstellen und einen Anhang einfügen.
Beitrag von: Ralf_M_Petter am 26.02.08 - 07:24:33
Ja Martin, aber nach dem wir hier nicht von innerhalb Notes reden, ist das Midas doch kein Thema, oder?

Grüße

Ralf

P.S. Mir ist es unverständlich, warum die IBM nicht endlich dieses Midas aufkauft.
Titel: Re: Aus Excel VBA ein Notesdukument erstellen und einen Anhang einfügen.
Beitrag von: m3 am 26.02.08 - 08:23:20
Hmmm. Good point.
Wäre aber interessant Ben zu fragen, ob man Midas auch via COM benutzen kann.