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