Seite 1 von 1

Verweise für Object Librarys mit VBA

BeitragVerfasst: 14. Sep 2021, 16:36
von gast17
Hallo zusammen,

innerhalb meiner VBA Outlook Applikation muss ich im Hintergrund
Excel- oder Worddokumente erzeugen. Das geschieht mit VBA Anweisungen
in Outlook.
Sind die richtigen Verweise im VBE für Excel und Word gesetzt,
funktioniert das soweit sehr gut.
Nun gibt es unterschiedliche Office Versionen, von 2010 bis 2019.
Gibt es eine Möglichkeit, die Referenzen für die Object Librarys
dynamisch zu erzeugen, abhängig davon, welche Version des Office-Paketes
installiert ist? Oder ein ganz andere Möglichkeit, das Thema zu lösen?
Zielführend wäre es, dass jeglicher Code innerhalb von Outlook liegt.

Wäre für jeden Tipp dankbar!

VG

Re: Verweise für Object Librarys mit VBA

BeitragVerfasst: 15. Sep 2021, 10:16
von DerHoepp
Moin,

mit CreateObject() und GetObject() kannst du ganz ohne Verweis auf eine Bibliothek ein Objekt einer Klassenbibliothek erzeugen oder ein vorhandenes Objekt "holen". Du musst nur den Klassennamen kennen. Für Word lautet dieser Word.Application und für eine Excelanwendung Excel.Application. Du musst nur berücksichtigen, dass du deine Variablen anschließend anders dimensionieren musst (in der Regel als Object) und gegebenenfalls Enumerationskonstanten durch Ihren Wert ersetzt.

Allerdings sollte es vollkommen unproblematisch sein, einen Verweis beispielsweise auf die Klassenbibliothek Microsoft Word 16.0 zu setzen. Der Compiler ist so schlau und ersetzt diesen Verweis bei abweichenden Versionen durch den passenden.

Viele Grüße
derHöpp

Re: Verweise für Object Librarys mit VBA

BeitragVerfasst: 16. Sep 2021, 08:08
von Gast
Hallo derHöpp,

vielen Dank für die Info!
MS ist leider nicht so schlau, das liegt wohl daran, dass ich mit Office 2019 die Applikation auf Office 2010 laufen lassen wollte.
In die andere "Versionsrichtung" könnte es evtl. gehen...

Ich werde es ausprobieren, ohne Verweise mit CreateObject() und GetObject() zu arbeiten, Wäre schön, wenn
Verweise in meinem Fall nicht notwendig wäre, bin noch skeptisch ;-)

VG

Re: Verweise für Object Librarys mit VBA

BeitragVerfasst: 16. Sep 2021, 08:41
von DerHoepp
Moin,

das wundert mich zwar, aber ich kann dir versichern, dass du mit CreateObject() vollen Zugriff auf die gesamte Klassenbibliothek erhältst. Wenn du weitere Beispiele suchst, hilft dir LateBinding als Stichwort bestimmt weiter.

Viele Grüße
derHöpp