Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
600to604
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
600to604
600to604
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

kompatible Programmierung

kompatible Programmierung
20.04.2005 11:57:31
Volker
Hallo Ex(cel)perten,
auf folgende Fragen habe ich im Archiv keine Antwort gefunden:
Ich programmiere VBA (XL2003) unter gelegentlichem Einsatz des Macro-Recorders, mit dem ich z.B. eine Sortierroutine aufzeichne.
Wie kann ich sicherstellen, dass diese Programme auch unter Excel 2000 laufen?
Der Recorder verwendet nämlich auch neue Optionen, die erst ab XL2003 zur Verfügung stehen.
Die zweite Frage geht in dieselbe Richtung.
Ich habe eine Lösung erstellt, die aus Excel heraus Outlookmails erzeugt. Dazu mußte ich einen Verweis auf die Outlook-Bibliothek setzen.
Prompt gibts ein Problem bei einem Anwender mit XL2002, da die Bibliothek für Outlook 2003 gesucht wird, aber logischerweise nicht gefunden wird.
Gibt es Möglichkeiten, die Abwärtskompatibilität sicherzustellen?
Schon jetzt vielen Dank für Eure Anregungen.
Gruß
Volker

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: references checken
21.04.2005 06:08:17
Volker
Hallo Rolf,
danke für den Hinweis.Darauf kann ich sicher aufbauen.
Gruß
Volker
AW: kompatible Programmierung
20.04.2005 14:17:17
Herbert
Hi,
"Dazu mußte ich einen Verweis auf die Outlook-Bibliothek setzen."
Wenn du LateBinding verwendest, ist das nicht nötig und es läuft auch in der tieferen
Version.
mfg Herbert
AW: kompatible Programmierung
21.04.2005 06:25:06
Volker
Hallo Herbert,
danke für Deinen Hinweis. Die Materie mit der Einbindung von Verweisen ist mir noch nicht so vertraut, deshalb gestatte mir die Nachfrage:
Meinst Du mit 'Late Binding' sowas hier (gefunden im Archiv):
Dim OutOb as Object
Set OutOb = CreateObject("Outlook.Application")
Keinen Verweis unter Extras-&gt Verweise setzen, sondern lediglich den o.g. Code verweden.
Richtig?
Gruß
Volker
Anzeige
ja, das meinte Herbert oT
21.04.2005 08:30:41
Rolf
..
AW: ja, das meinte Herbert oT
21.04.2005 12:40:47
Volker
Hallo Rolf,
soweit so gut.
Nun entsteht durch diese Vorgehensweise ('late binding') aber ein anderes Problem:
Ich möchte die Empfängeradresse im Outlook-Adressbuch überprüfen.
Bei 'early binding' funktioniet nachstehender Code einwandfrei, bei 'late binding' bleibt das Empfängerfeld leer. Was mache ich falsch? Habe ich etwas übersehen?

Sub test()
Dim OutApp As Object
Dim objOutlookRecip As Object
Dim Nachricht As Object
Dim mailadr As String
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
mailadr = "xyz@abc.de"
With Nachricht
Set objOutlookRecip = .Recipients.Add(mailadr)
objOutlookRecip.Type = olTo
objOutlookRecip.Resolve
.Subject = "Betreff"
.body = "Text"
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub

Ich bin für jeden Hinweis dankbar. Ich habe die Recherche zu dem Stichwort 'late binding' mittlerweile durchforstet, habe aber dort keinen Hinweis gefunden, um obiges Problem zu lösen. Oder gibt es noch eine andere Möglichkeit, die Existenz des Empfängers im OL-Adressbuch zu überprüfen?
Gruß
Volker
Anzeige
Problem gelöst
21.04.2005 12:46:29
Volker
Hallo Rolf,
meine Frage hat sich erledigt.
Durch eine Zuweisung an .to erscheint nun auch der überprüfte Empfänger.

Sub test2()
Dim OutApp As Object
Dim objOutlookRecip As Object 'Outlook.Recipient
Dim Nachricht As Object 'Outlook.MailItem
Dim mailadr As String
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
mailadr = "wzc3nk"
With Nachricht
Set objOutlookRecip = .Recipients.Add(mailadr)
objOutlookRecip.Type = olTo
objOutlookRecip.Resolve
.to = objOutlookRecip
.Subject = "Betreff"
.body = "Text"
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub

Danke und Gruß
Volker
Anzeige
AW: kompatible Programmierung
21.04.2005 12:57:40
Volker
Hallo zusammen,
während der zweite Teil meiner Anfrage inzwischen dankenswerterweise geklärt ist, gab es
zur ersten Frage bisher keine Reaktion.
Kann man durch Aktivierung / Deaktivierung von Bibliotheken etwas machen oder gibt es keinerlei Möglichkeit, den Macro-Recorder dazu zu bewegen, abwärtskompatiblen Code zu erzeugen?
Gruß
Volker
AW: kompatible Programmierung
21.04.2005 14:28:20
Rolf
Hallo Volker,
ein generelles Tool ist mir zumindest nicht bekannt.
Ich sehe nur die Möglichkeit, die References abhängig
von der XL-Version zu setzen -
z.B. via Workbook_Open + Abarbeitung einer zentral
hinterlegten Tabelle.
Ist aber zugegebenermaßen alles nicht schön.
fG
Rolf
Anzeige
AW: kompatible Programmierung
21.04.2005 15:21:46
Volker
Hallo Rolf,
danke, ich hatte bereits angenommen, dass es für meine Frage keine Standardlösung gibt.
Ich schließe damit den Thread.
Danke und Gruß
Volker

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige