Domino 9 und frühere Versionen > ND6: Entwicklung
Excel-Datei an Notes anhängen, Zellen zusätzlich einfügen, aber nicht versenden
koehlerbv:
Die Doku ist die mit dem Domino Designer mitgelieferte DesignerHelp.
- Persönliches ProfileDocument: ProfileDocument mit verwendetem Parameter "Username", das immer nur dem jeweiligen Benutzer zur Verfügung steht (damit können nicht mehrere Anwender sich gegenseitig Sachen überschreiben)
- RT-Item: NotesRichTextItem
Ad "totaler Laie": Wo hast Du denn dann Deinen gegenwärtigen Code her??
Bernhard
Raphael:
--- Zitat von: koehlerbv am 20.10.10 - 16:28:06 ---Die Doku ist die mit dem Domino Designer mitgelieferte DesignerHelp.
- Persönliches ProfileDocument: ProfileDocument mit verwendetem Parameter "Username", das immer nur dem jeweiligen Benutzer zur Verfügung steht (damit können nicht mehrere Anwender sich gegenseitig Sachen überschreiben)
- RT-Item: NotesRichTextItem
--- Ende Zitat ---
danke
--- Zitat von: koehlerbv am 20.10.10 - 16:28:06 ---Ad "totaler Laie": Wo hast Du denn dann Deinen gegenwärtigen Code her??
--- Ende Zitat ---
Sorry, ich dachte das hätte ich auch geschrieben, aber wo du es sagst. Das ist von einer der vielen Seiten, die mir Google dazu geliefert hat und mit deren Codefragmenten ich rumexperimentiert habe. Sobald ich nochmal auf die Seite stoße, werde ich im ersten Posting eine Referenz einfügen.
UPDATE: Link oben eingefügt (http://www.ozgrid.com/forum/showthread.php?t=99798)
Raphael:
Anbei die Lösung für mein Problem (entstanden durch Modifikation von im Netz gefundenen Code):
Betreff + Aufruf:
--- Code: ---'Dieser Bereich speichert den später benötigten bzw. eingefügten Email-Betreff und übergibt ihn mit dem Aufruf
Dim Subject1 As String
Subject1 = Sheets("BESTELLUNG").Range("P13").Value
Call CreateMailandAttachFileAdr(Subject1)
--- Ende Code ---
Hauptcode in separatem Modul:
--- Code: ---'Option Compare Database
Option Explicit
'########################################################################
' Author: Klaus Oberdalhoff
' I used several scripts i found on the internet
'########################################################################
Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Declare Function ShowWindow& Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long)
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Function CreateNotesSession&()
Const notesclass$ = "NOTES"
' "Neues Memo - Lotus Notes"
Const SW_SHOWMAXIMIZED = 3
Dim Lotus_Session As Object
Dim rc&
Dim lotusWindow&
Set Lotus_Session = CreateObject("Notes.NotesSession")
DoEvents
DoEvents
lotusWindow = FindWindow(notesclass, vbNullString)
If lotusWindow <> 0 Then
rc = ShowWindow(lotusWindow, SW_SHOWMAXIMIZED)
rc = SetForegroundWindow(lotusWindow)
CreateNotesSession& = True
Else
CreateNotesSession& = False
End If
End Function
Sub CreateMailandAttachFileAdr(Optional IsSubject As String, Optional SendToAdr As String, Optional CCToAdr As String, Optional BCCToAdr As String = "", Optional Attach1 As String = "", Optional Attach2 As String = "")
Const EMBED_ATTACHMENT As Integer = 1454
Const EMBED_OBJECT As Integer = 1453
Const EMBED_OBJECTLINK As Integer = 1452
Dim s As Object ' use back end classes to obtain mail database name
Dim db As Object '
Dim doc As Object ' front end document
Dim beDoc As Object ' back end document
Dim workspace As Object ' use front end classes to display to user
Dim bodypart As Object
Dim stAttachment As String
Call CreateNotesSession&
Set s = CreateObject("Notes.Notessession") 'create notes session
Set db = s.getDatabase("", "") 'set db to database not yet named
Call db.Openmail ' set database to default mail database
Set beDoc = db.CreateDocument
Set bodypart = beDoc.CreateRichTextItem("Body")
beDoc.Subject = IsSubject
beDoc.SendTo = "Empfänger bitte eingeben"
beDoc.CopyTo = ""
beDoc.BlindCopyTo = ""
' Auswahl des Anhangs, in diesem Fall der aktuell genutzten Excel-Datei
stAttachment = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
Call bodypart.EmbedObject(EMBED_ATTACHMENT, "", stAttachment)
Set workspace = CreateObject("Notes.NotesUIWorkspace")
'Copy the cells in the range into the BODY in Lotus Notes.
Dim rnBody As Object
Set rnBody = Sheets("BESTELLUNG").Range("B53:K63") '<- Bereich, der im Notes angezeigt wird
rnBody.Copy
Call workspace.EditDocument(True, beDoc).GotoField("Body")
Call workspace.EditDocument.Paste
Set s = Nothing
End Sub
--- Ende Code ---
Ich hoffe dies hilft bei Zeiten noch jemandem.
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln