|
|
Email über Outlook, verschiedene Versionen, versenden
Letzter Beitrag 31. Aug 2010 12:09 von Bernd. 4 Antworten.
-
13. Jul 2010 8:44
|
|
-
Bernd



- Registriert am 10. Jan 2009
- Weißbach
- Beiträge 107
- Punkte 1.420
|
Email über Outlook, verschiedene Versionen, versenden
Hallo Leute, ich möchte aus einer Applikation (VB.NET) Emails über Outlook erstellen und versenden. Die Mitarbeiter sollen die Möglichkeit bekommen, einen Datensatz aus einer DB-Anwendung an Outlook zu übergeben, zu bearbeiten und evtl. noch Mailadressen hinzuzufügen. Nun habe ich im hier und im Netz einige Dinge und Anleitungen gefunden. Es muss eben die Outlook Version im Projekt hinzugefügt (ein Verweis auf die Com) werden und genau hier liegt mein Problem! Wir haben in der Fa. natürlich mehrere Outlook Versionen (2003, 2007, 2010). Kann ich mehrere Versionen im Projekt hinzufügen, wenn ja, wie mache ich das? Ich habe Office 2010 auf der Maschine. Danke für Eure Hilfe Bernd
..bin blutiger Anfänger, will mich aber bessern, nicht zuletzt mit Eurer Hilfe.. ;o) Sprache: VB.NET 2008 Nachtrag: Das Programmieren macht mir mehr und mehr Spaß! Auch dank Euch.. Nachtrag 2: Ich bin froh, Teil dieser Community sein zu dürfen. Ihr seid klasse..!!!!
|
|
-
-
klaus_b



- Registriert am 28. Jan 2008
- Waldkraiburg
- Beiträge 710
- Punkte 11.415

|
Email über Outlook, verschiedene Versionen, versenden
Hallo Bernd,
Ob du mehrer verschiedenen Versionen des COM-Objekts hinzufügen kannst, weis ich nicht.
Da auf der Zielmaschine aber überhaupt Outlook installiert sein muss damit das ganze funktioniert, könntest du doch die installierte Version ermitteln und dann das COM-Objekt zur Laufzeit erzeugen. Das Ermitteln der installierte Version geht AFAIK nur mit einer Abfrage der Registry. Um keine UAC-Meldung zu generieren, wurd ich das in CurrentUser abfragen. Dann ermittelst du die höchste Installierte Version. 11.0 = 2003 12.0 = 2007 14.0 = 2010
Der komplette Registrypfad für Outlook 2010 währe demnach: HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook
Wenn du das ermittelt hast, könntest du doch das COM-Object auf Basis der installierten Version erzeugen.
Servus, Klaus
klaus_b@.NETAlles was an .NET und C# Spass macht, ... oder manchmal auch nicht.
|
|
-
-
Martin Hey



- Registriert am 08. Mrz 2010
- Dresden
- Beiträge 53
- Punkte 880
|
Email über Outlook, verschiedene Versionen, versenden
Hi Bernd, ist nicht die jeweils aktuelle Outlook-Version unter "Outlook.Application" registriert? Dann könnte man doch mit CreateObject und COM die aktuelle Version einfach laden. Ist vielleicht einen Versuch wert. Ich hab leider nur C# Code, aber damit hab ich eine Referenz auf Outlook bekommen können. dynamic outlookApp = Activator.CreateInstance(Type.GetTypeFromProgID("Outlook.Application"));Grüße Martin
|
|
-
-
Bernd



- Registriert am 10. Jan 2009
- Weißbach
- Beiträge 107
- Punkte 1.420
|
Email über Outlook, verschiedene Versionen, versenden
Hey Martin, ja, Du hast mal wieder Recht! Es geht so: Friend Sub SendMail(ByVal Betreff As String, ByVal Body As String, Optional ByVal Empfaenger As String = "testmai@test.com")
Dim objOutlook As Object
Dim objOutlookMsg As Object
Const olMailItem = 0
Const olBCC = 3
Const olImportanceHigh = 1
Const olCC = 2
Const olTo = 1
objOutlook = CreateObject("Outlook.Application")
objOutlookMsg = objOutlook.CreateItem(olMailItem)
With objOutlookMsg
Dim objOutlookRecip As Object = .Recipients.Add(Empfaenger)
objOutlookRecip.type = olTo
.Subject = Betreff
.Body = Body
.Importance = olImportanceHigh
.Display() ' use .send() to send
End With
objOutlookMsg = Nothing
objOutlook = Nothing
End Sub Zugegeben, der Code ist nicht von mir! Habe diesen "Schnipsel" im Netz entdeckt und eingebaut. Scheint mit allen Outlook-Versionen zu funktionieren. Werde das noch testen und Ergebnis hier posten. Danke Euch Bernd
..bin blutiger Anfänger, will mich aber bessern, nicht zuletzt mit Eurer Hilfe.. ;o) Sprache: VB.NET 2008 Nachtrag: Das Programmieren macht mir mehr und mehr Spaß! Auch dank Euch.. Nachtrag 2: Ich bin froh, Teil dieser Community sein zu dürfen. Ihr seid klasse..!!!!
|
|
-
-
Bernd



- Registriert am 10. Jan 2009
- Weißbach
- Beiträge 107
- Punkte 1.420
|
Email über Outlook, verschiedene Versionen, versenden
Antworten
Bernd:Hey Martin, ja, Du hast mal wieder Recht! Es geht so: Friend Sub SendMail(ByVal Betreff As String, ByVal Body As String, Optional ByVal Empfaenger As String = "testmai@test.com")
Dim objOutlook As Object
Dim objOutlookMsg As Object
Const olMailItem = 0
Const olBCC = 3
Const olImportanceHigh = 1
Const olCC = 2
Const olTo = 1
objOutlook = CreateObject("Outlook.Application")
objOutlookMsg = objOutlook.CreateItem(olMailItem)
With objOutlookMsg
Dim objOutlookRecip As Object = .Recipients.Add(Empfaenger)
objOutlookRecip.type = olTo
.Subject = Betreff
.Body = Body
.Importance = olImportanceHigh
.Display() ' use .send() to send
End With
objOutlookMsg = Nothing
objOutlook = Nothing
End Sub Zugegeben, der Code ist nicht von mir! Habe diesen "Schnipsel" im Netz entdeckt und eingebaut. Scheint mit allen Outlook-Versionen zu funktionieren. Werde das noch testen und Ergebnis hier posten. Danke Euch Bernd
Also, der oben genannte Code funktioniert mit allen Outlook-Versionen von 2003 bis 2010. Gruß vom Bernd
..bin blutiger Anfänger, will mich aber bessern, nicht zuletzt mit Eurer Hilfe.. ;o) Sprache: VB.NET 2008 Nachtrag: Das Programmieren macht mir mehr und mehr Spaß! Auch dank Euch.. Nachtrag 2: Ich bin froh, Teil dieser Community sein zu dürfen. Ihr seid klasse..!!!!
|
|
Seite 1 von 1 (5 Treffer)
|
|