Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Outlook Aufruf von VB aus

1 view
Skip to first unread message

Michael Drüing

unread,
Feb 18, 2002, 5:48:18 PM2/18/02
to
Hi,

ich möchte in meinem VB-Programm einen Button einbauen, der, wenn man ihn
anklickt, automatisch das "Neue EMail verfassen"-Fenster von Outlook öffnet,
und zwar mit einem bestimmten Empfänger/Betreff.
Das soll etwa so funktionieren wie wenn man "Start->Ausführen" und dann
mailto:x...@irgendwo.de eingibt.
Wie mache ich das?

Danke,
--Michael


Gunthard Pupke

unread,
Apr 5, 2002, 2:37:03 PM4/5/02
to
Das Beispiel von http://faq.vb-hellfire.net/k.php#7
ShellExecute Me.hWnd, "Open", "mailto:f...@vb-infotalk.de", _
vbNullString, vbNullString, vbNormalFocus
beantwortet sicherlich Deine Frage. Dabei bleibt aber die
Übergabe von längeren Texten in den eMail-Body unzureichend.
Es können nur zirka 250 Zeichen übergeben werden. Ich habe
mal vor einiger Zeit folgenden Tip im Internet gefunden.
Leider weiss ich nicht mehr von wem er stammt. Damit werden
auch längere eMails über einen tmp-File an den Standard-Mailer
übergeben.

'Standard eMail-Client
Dim Textstring as String
Dim email As EmailInfo
Dim sTmpFile As String
Dim hFile As Long

TextString = Text1.text
TextString = Replace(TextString, " ", "%20")
TextString = Replace(TextString, "&", "+")
TextString = Replace(TextString, vbTab, "%20")
TextString = Replace(TextString, vbLf, "%0D%0A")
TextString = Replace(TextString, ",", "%2C")
TextString = Replace(TextString, ";", "%3B")
TextString = Replace(TextString, "?", "%3F")
TextString = Replace(TextString, "%", "%25")
TextString = Replace(TextString, Asc(10), "%0A")
TextString = Left$(TextString, 2040)
'the temp email file
sTmpFile = App.path & "\temp.eml"

'complete the fields to be used
With email
.sAddrFrom = "AdresseVon"
.sAddrTo = "AdresseAn"
.sAddrCC = ""
.sAddrBCC = ""
.sSubject = "Betreff"
.sMessage = Textstring
.sPriority = 1
End With

'create the temp file
hFile = EmailCreate(sTmpFile)
Debug.Print "hFile="; hFile
'if successful,
If hFile <> 0 Then

'write out the data and
'send the email
If EmailWrite(hFile, email) Then

RunShellExecute "Open", _
sTmpFile, _
vbNullString, _
vbNullString, _
vbNormalFocus

End If

End If


Gruss
Gunthard Pupke

Thorsten Dörfler

unread,
Apr 6, 2002, 7:02:24 PM4/6/02
to
"Gunthard Pupke" <pu...@showtime.de> schrieb:

> beantwortet sicherlich Deine Frage. Dabei bleibt aber die
> Übergabe von längeren Texten in den eMail-Body unzureichend.
> Es können nur zirka 250 Zeichen übergeben werden. Ich habe
> mal vor einiger Zeit folgenden Tip im Internet gefunden.
> Leider weiss ich nicht mehr von wem er stammt. Damit werden
> auch längere eMails über einen tmp-File an den Standard-Mailer
> übergeben.

War sicher der hier:
http://www.mvps.org/vbnet/index.html?code/internet/shellexecutelargeemail.htm

Thorsten Dörfler
--
vb-hellfire - einfach anders
http://www.vb-hellfire.de/XX-E

0 new messages