Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
576to580
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
576to580
576to580
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Lotus Notes email und Excel, Problem mit Array

Lotus Notes email und Excel, Problem mit Array
25.02.2005 10:16:51
iggnazio
Hallo Excel Jünger,
ich habe anhand des hilfreichen Archivs eine Prozedur zusammengestellt für den automatischen Versand von emails - so weit so gut. Nur die Erstellung eines Arrays um mehrere Empfänger zu adressieren klappt nicht... kann mir jemand mit dem Code helfen? Irgendwo hab ich wohl einen Fehler eingebaut. (übrigens, die abgespeicherte Email im Ausgang zeigt alle Empfänger korrekt an, nur kommt die Email nur beim ersten Empfänger an...)
Und noch einer: ich würde gern Verknüpfungen auf Lotus Notes Datenbanken und Dokumente legen.
Auch das klappt wenn ich in Notes "als Verknüpfung kopieren" und in Excel "Inhalte einfügen" wähle (als Verknüpfung und Symbol). Ein Doppelklick auf das Symbol zeigt dann auch das Dokument in Notes oder öffnet die Datenbank.
Jetzt die Frage: kann man diesen Link jedoch auch ohne ein Objekt einfügen. Ich hatte auf die Verknüpfung über einen Hyperlink gedacht... (hat aber bei einem Notes.link nicht geklappt... hat hier jemand Erfahrung?
Übrigens, das Objekt hat folgende Verknüpfung:
=Notes.Link|Notes.Link!'!45322000000...'
Und hier der VBA Code für die erste Frage. Vielen Dank schon mal für eure Hilfe!!
'---EMAIL VERSAND AUS EXCEL

Sub EmailSenden()
Dim NutzerNotes As Object
Dim Notes As Object
Dim MailDokument As Object
Dim TextInMail As String, Anhang As String
Dim Text As Object
Dim Receipient As Variant
Dim beg As Integer, last As Integer
Dim i As Byte
Dim vari
Dim var()
Const EMBED_ATTACHMENT = 1454
'----- Auslesen des Arrays--------
beg = 10
last = Sheets("NOTES").Cells(100, 6).End(xlUp).Row
If last < 11 Then last = 10
vari = (last - beg) + 1 'anzahl der arrayeinträge ermitteln
ReDim Preserve var(vari)
Receipient = ""
Dim x As Byte
For x = beg To last
var(x - 9) = Sheets("params").Cells(x, 6) ' array mit daten aus dem sheet füllen
Next
For i = 1 To last - beg
Receipient = Receipient & var(i) & ","
Next
Receipient = Left(Receipient, Len(Receipient) - 1) ' letztes Komma entfernen
'---- Erstellen der eMail---------
Set NutzerNotes = CreateObject("Notes.NotesSession")
Set Notes = NutzerNotes.GetDatabase("", "")
Call Notes.OPENMAIL
Set MailDokument = Notes.CREATEDOCUMENT
Call MailDokument.ReplaceItemValue("SendTo", Receipient)
Call MailDokument.ReplaceItemValue("Subject", "" & Date)
Set Text = MailDokument.CREATERICHTEXTITEM("Body")
TextInMail = "Bitte beachten Sie das" & vbCrLf & vbCrLf & vbCrLf & vbCrLf
Call Text.AppendText(TextInMail)
MailDokument.SAVEMESSAGEONSEND = True
Call MailDokument.SEND(False, Receipient)
Set NutzerNotes = Nothing
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Lotus Notes email und Excel, Problem mit Array
25.02.2005 12:37:22
Dominic
Hallo iggnazio,
Zu Frage1:
hab's nicht getestet aber im LN werden die Adressen mit ", " verbunden.
Gruß
Dominic
Ps.: Über Verlinkung muß ich noch nachdenken. Wenn Du aber nur Daten und keine vollständige Dokument brauchst, dann schau mal die Hilfe im Domino Designer Help an, wie OLE und COM ausschaut!
AW: Lotus Notes email und Excel, Problem mit Array
25.02.2005 13:31:58
iggnazio
Hi Dominik,
vielen Dank schon mal für deine Hilfe!
also das Komma wird schon eingefügt:
For i = 1 To last - beg
Receipient = Receipient & var(i) & ","
Next
bin mir aber nicht sicher ob ich 'receipient' wirklich als Array übergebe...!?
zum anderen Thema: ich hatte eigentlich an das Dokument gedacht. Wobei ich aber auch schon mal mit COM rumgebastelt hatte... mir ist es aber nie gelungen wirklich eine Datei abzurufen..
Anzeige
AW: Lotus Notes email und Excel, Problem mit Array
25.02.2005 14:03:55
Dominic
Hallo,
also probier mal mit:
Receipient = Receipient & var(i) & ", "
Ist der Datenbank web - basierend? Wenn ja, dann schau Dir mal GetDocumentByURL an.
Mit Datenpflege in Backend bin ich fit, und auch beim ActiveDocument, aber Verlinkung...
Gruß
Dominic
AW: Lotus Notes email und Excel, Problem mit Array
25.02.2005 19:52:15
iggnazio
Hi,
mit dem Leerzeichen hat leider auch nicht geklappt. Na ja, wenn's gar nicht klappt werde ich eine Schleife einbauen und jede email einzeln verschicken...
Hast du ein Beispiel wie man Daten aus einem Notes Dokument ausliest? Ich habe da mal folgende Zeilen kopiert, aber mit dll's kenn ich mich leider nicht aus und weiss nicht ob die angepasst werden müssen, daher klappte dieses Beispiel bei mir nicht...

Sub Notes_Telefonbuch_lesen()
' Zugriff auf Notes - Datenbanken mittels COM (Component Objekt Model) ab (Domino) Version 5.0.2b
' Verweis auf Lotus Domino Objects (domobj.tlb) unbedingt erforderlich
' Entsprechende dll findet sich unter..\notes\nlsxbe.dll
' Registrieren z.B. über Start --> Ausführen:  regsvr32 [pfad]\nlsxbe.dll
' Vorliegender code erstellt mittels "com together with domino redbook" - handbuch
'Dim DomSession As New NotesSession  'Session
Dim DomDir As NotesDatabase         'Datenbank
Dim DomView As NotesView            'Ansicht
Dim DomDoc As NotesDocument         'Dokument
Dim StrName As String
Dim i As Long
' zur Fehlerbehandlung
Dim StrTestDomSession As String
On Error GoTo ErrorHandler
' zum Testen ob die Notessession schon steht, wenn nicht-
' initialisiert der Errorhandler die Session (Passwortabfrage)
StrTestDomSession = DomSession.CommonUserName
Set DomDir = DomSession.GetDatabase("SERVER", "PFAD+DATENBANKNAME")
Set DomView = DomDir.GetView("ANSICHT")
Set DomDoc = DomView.GetFirstDocument
i = 1
While Not (DomDoc Is Nothing)
' Felder auslesen - Parameter "(0)" unbedingt erforderlich !
' bei meinen drei Beispieldatenfeldern handelt sich es um Telefonbuch- Felder
StrName = DomDoc.GetItemValue("lastname")(0) & " " _
& DomDoc.GetItemValue("firstname")(0) & " " _
& DomDoc.GetItemValue("shortname")(0)
' nächstes Dokument
Set DomDoc = DomView.GetNextDocument(DomDoc)
MsgBox StrName, vbInformation, "Datensatz Nr. " & i
i = i + 1
Wend
GoTo done
ErrorHandler:
If Err = ERR_NOTES_SESSION_NOT_INIT Then
DomSession.Initialize
Resume Next
Else
MsgBox "Laufzeitfehler Nr. " & Err & vbLf & Err.Description, vbCritical
End If
done:
End Sub

Anzeige

132 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige