VBA-Verweise versionsunabhängig?

12/01/2009 - 06:43 von Dimo Tabken | Report spam
Moinmoin Leute,

mal eine Frage in die Runde der VBA-Spezis:

wenn ich in einer Arbeitsmappe den Verweis auf die Objektbibliothek einer
der anderen Office-Anwendungen (im vorliegenden Falle auf Outlook) setze,
dann geschieht dies ja generell unter Verwendung der aktuellen
Office-Version.
Meine Excel-Arbeitsmappe soll beispielsweise per Mausklick einen Teil einer
Tabelle in eine neue Outlook-Mail schreiben und diese dann versenden. Also
setze ich den Verweis auf die Outlook-Objektbibliothek und kann das
Vorhaben realisieren. Der Verweis zielt aber naturgemàß zunàchst mal auf
die Outlook-12-Bibliothek, da ich das ganze unter Office07 geschrieben
habe.
Starte ich das ganze nun unter Office02 oder 03, dann fàhrt die betreffende
Prozedur gegen die Wand ("Fehler beim Kompilieren: Objekt oder Bibliotek
nicht gefunden") ...

Gibt es eine Möglichkeit, diesen Outlook-Verweis zu "generalisieren", so
dass auch Office02- und 03-Benutzer in den Genuß dieser Mappe kommen
können, ohne dass sie die Verweise auf ihrem Rechner erstmal auf ihre
Office-Version zurecht basteln müssen?

Würde mich freuen, wenn Ihr 'nen kleinen Tipp für mich hàttet ;-)


Gruß, Dimo
 

Lesen sie die antworten

#1 thomas.ramel
12/01/2009 - 10:05 | Warnen spam
Grüezi Dimo

On 12 Jan., 06:43, Dimo Tabken wrote:

wenn ich in einer Arbeitsmappe den Verweis auf die Objektbibliothek einer
der anderen Office-Anwendungen (im vorliegenden Falle auf Outlook) setze,
dann geschieht dies ja generell unter Verwendung der aktuellen
Office-Version.



Ja, das ist korrekt.
Du solltest generell auch in der àltesten Version programmieren in der
die Anwendung spàter genutzt werden soll.
Das hat den Vorteil, dass alle Befehle die Du verwendest auch wirklich
zur Verfügugn stehen.

Meine Excel-Arbeitsmappe soll beispielsweise per Mausklick einen Teil einer
Tabelle in eine neue Outlook-Mail schreiben und diese dann versenden. Also
setze ich den Verweis auf die Outlook-Objektbibliothek und kann das
Vorhaben realisieren. Der Verweis zielt aber naturgemàß zunàchst mal auf
die Outlook-12-Bibliothek, da ich das ganze unter Office07 geschrieben
habe.
Starte ich das ganze nun unter Office02 oder 03, dann fàhrt die betreffende
Prozedur gegen die Wand ("Fehler beim Kompilieren: Objekt oder Bibliotek
nicht gefunden") ...



Ja, die betreffende Bibliothek wird nicht gefunden - nach 'oben'
klappt das Umschreiben der Verweise, nach unten ist das verweigert.
Ein weiterer Grund, in der àltesten Version zu programmieren.

Gibt es eine Möglichkeit, diesen Outlook-Verweis zu "generalisieren", so
dass auch Office02- und 03-Benutzer in den Genuß dieser Mappe kommen
können, ohne dass sie die Verweise auf ihrem Rechner erstmal auf ihre
Office-Version zurecht basteln müssen?



Ja, das ist dann möglich wenn Du ohne Verseise (early binding)
arbeitest und die Verbindung zur Anwendung zur Laufzeit erstellst
('late binding').

Hier ein paar Links zum Thema (Vorsicht! nahrhafte Kost):

http://support.microsoft.com/Defaul...5115&x&y
http://word.mvps.org/faqs/interdev/...inding.htm
http://www.online-excel.de/excel/si...vba.php?fA

Mit freundlichen Grüssen

Thomas Ramel
- MVP für MS-Excel -

Ähnliche fragen