Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
888to892
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
888to892
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Zeilenumbruch in HTML (Lotus)

VBA Zeilenumbruch in HTML (Lotus)
19.07.2007 11:38:00
Fabian
Hallo,
habe folgendes Problem. Ich versende Emails über Lotus mit Hilfe des folgenden Codes:

Private Declare Function ShellExecute Lib "Shell32.dll" _
Alias "ShellExecuteA" (ByVal hWnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Private Sub Mail(eMail As String, Optional Subject As String, _
Optional Body As String)
Call ShellExecute(0&, "Open", "mailto:" + eMail + _
"?Subject=" + Subject + "&Body=" + Body, "", "", 1)
End Sub
Sub senden()
Dim eMail As String, Subject As String, Body As String
Set Recipient = Worksheets("Listen").Cells(z, 6)
eMail = Recipient
Subject = ""
Body = "Dies ist der Nachrichtentext" & ZEILENUMBRUCH & "Zeile 2"
Call Mail(eMail, Subject, Body)
End Sub


Leider bekomme ich an der Stele ZEILENUMBRUCH keinen hin. Habe es mit Chr(13), Chr(10) und vbCrLf probiert, leider keinen Erfolg.
Hat noch jmd eine Idee?
Schönen Gruß,
Fabian

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zeilenumbruch in HTML (Lotus)
19.07.2007 11:45:00
Markus
Hallo Fabian!
Du musst da einfach nur Klammern rundherum machen ;-)
So hats bei mir gerade geklappt:
body = ("Dies ist der Nachrichtentext" & vbLf & "Zeile 2")
Schöne Grüße
Markus

AW: VBA Zeilenumbruch in HTML (Lotus)
19.07.2007 11:51:12
Fabian
Leider keinen Erfolg. Benutzt du Outlook?

AW: VBA Zeilenumbruch in HTML (Lotus)
19.07.2007 11:54:12
Markus
Leider nicht, ich hab das nur schnell in Excel getestet ... Da hats so funktioniert :-/
Hab net dran gedacht das du ja mit Lotus arbeitest

AW: VBA Zeilenumbruch in HTML (Lotus)
19.07.2007 11:49:00
sergiesam
Hi,
du musst die zeichen durch den HEX-Code ersetzen:
statt leerzeichen schreibst du %20 und statt zeilenschaltung schreibst du %A0
also "Das%20ist%20der%20Nachrichtentext"
oder auch Body = replace("Das ist der Nachrichtentext", " ", "%20")
lg,
Sam

Anzeige
AW: VBA Zeilenumbruch in HTML (Lotus)
19.07.2007 11:58:39
Fabian
Mmh, ich habs mit
Body = ("Dies ist der Nachrichtentext%20Text2%A0")
probiert. Das Leerzeichen wird eingefügt, aber für A20 wird ein á geschrieben..

AW: VBA Zeilenumbruch in HTML (Lotus)
19.07.2007 11:57:46
Rudi
Hallo,
vielleicht so?
Body = "Dies ist der Nachrichtentext" & chr(13) &chr(10) & "Zeile 2"
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: VBA Zeilenumbruch in HTML (Lotus)
19.07.2007 12:00:00
Fabian
Leider keinen Erfolg, wird alles aneinandergereit..

Lösung
19.07.2007 12:09:00
Fabian
Hallo Habe nun die Lösung gefunden:
in den String den Hexcode %0D%0A einfügen, dann klappts..
Vielen Dank an alle!

Neues Problem
19.07.2007 13:09:00
Fabian
Nun habe ich zwar den Zeilenumbruch hinbekommen, allerdings akzeptiert lotus nur eine bestimmte Anzahl an Zeichen im Body, wenn ich diese erhöhe wird gar keine neue Mail geöffnet..
Bei
Body="TEXT" liegt die maximale Anzahl bei ca. 160 Zeichen.. Da alle Zeichen hintereinandergeschrieben sind, gibt es eine maximlae wortlänge in vba?
Mir fällt dazu nichts ein. Wie siehst bei Euch aus?

Anzeige
Mails für Lotus Notes erstellen
19.07.2007 14:35:45
sergiesam
HI,
du kannst folgenden Code verwenden - er verwendet die Notes32.tlb-Bibliothek.
Dim strCopyto As String
Dim strBlindCopyto As String
Dim strServer As String
Dim session
Set session = CreateObject("notes.NotesSession")
Dim obj
Dim rtItem
Dim docMail 'This will return the server and path to the current users mail file.
Dim db
Dim s
Set s = CreateObject("Notes.Notessession") 'New doesn't work here for some reason
Set db = s.GETDATABASE("", "")
'Creates a new document in the Mail Database
db.OPENMAIL
Set docMail = db.CREATEDOCUMENT 'When creating documents via VB the default values are not calculated so all the fields required 'must be set programmatically
Call docMail.REPLACEITEMVALUE("Form", "Memo")
strCopyto = "" 'Who to send a copy to
strBlindCopyto = "" 'Who you want to be blind copied to
Call docMail.REPLACEITEMVALUE("Subject", strSubject)
Call docMail.REPLACEITEMVALUE("SendTo", strSendTo)
Call docMail.REPLACEITEMVALUE("strCopyTo", strCopyto)
Call docMail.REPLACEITEMVALUE("BlindCopyTo", strBlindCopyto)
'Creates the memo body field, which contains main info and attachments
Set rtItem = docMail.CREATERICHTEXTITEM("Body")
Call rtItem.APPENDTEXT(strBriefanrede) ' Add some text to the body field
Call rtItem.ADDNEWLINE(2) ' Adds 2 blank lines to the body field
Call rtItem.APPENDTEXT(strBodyText)
Call rtItem.ADDNEWLINE(2)
'Embeds the file with the pathname stored in strpathname
Set obj = rtItem.EMBEDOBJECT(1454, "", strPathname)
Call rtItem.ADDNEWLINE(2) ' Adds 2 blank lines to the body field
Call rtItem.APPENDTEXT("Mit freundlichen Grüßen, ")
Call rtItem.ADDNEWLINE(1)
Call rtItem.APPENDTEXT("Dein Name")
Call rtItem.ADDNEWLINE(1)
'Call docMail.SEND(False) 'Don't include this to save it in the drafts view '
Call docMail.Save(True, True) 'Include this to save in the send view
Mit ein bisschen VBA-Wissen sollte es kein Problem sein, die Variablen richtig einzusetzen.
lg,
Sam

Anzeige
AW: Mails für Lotus Notes erstellen
19.07.2007 14:45:42
Fabian
Diese Lösung scheidet leider aufgrund der Sicherheitsbeschränkungen bzw. fehlenden ActiveX Registrierung in meiner Firma aus.. :-(
Hatte ich schon versucht, ich scheidet immer an
Set session = CreateObject("notes.NotesSession")
mit Laufzeitfehler 429
Anscheinend gibt es für die Version mit dem Standardmailprogramm keine Lösung da die Shell anscheinend nur 255 Zeichen inl. Betreff und Empfängeradresse zulässt..

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige