Problem mit Referenzen!

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Problem mit Referenzen!
von: Martin
Geschrieben am: 09.10.2003 14:57:04


Hallo,

in der Firma arbeiten wir mit xl2000 & XP. Jeden Tag wird eine Datei bearbeitet und dann an verschiedene Leute verschickt. Das Versenden erfolgt über ein Makro, das die Datei in Outlook lädt. Dieses Makro hatte ich seinerzeit mit XP erstellt und habe dafür die Referenz Microsoft Outlook 10.0 Object Library benötigt und eingebunden.

Nun passiert es seit einiger Zeit, dass ich beim Öffnen der Datei in xl2000 einen Debug bekomme. Merkwürdig ist die Tatsache, dass andere Modukle als das Versenden-Makro angegeben werden und wenn ich dann in der Referenzbibliothek nachschaue, finde ich den Eintrag MISSING: Microsoft Outlook 10.0 Object Library.

Da xl2000 nicht die 10.0 wohl aber die 9.0 Version hat, kann ich diese dann aktivieren und alles funktioniert wieder ..bis zum nächsten Mal, wenn die Datei in XP geladen und gespeichert wurde (so zumindest meine Hypothese), dann fängt das Spiel wieder von vorne an.

Ich hoffe, ich habe das Problem einigermassen klar dargestellt. Kennt jemand dieses Phänomen und weiss Abhilfe bitte?
Könnte es ein, dass es damit zu tun hat, dass ich vor einiger Zeit das VBA-Projekt kompiliert habe?

Gruss,
Martin

Bild


Betrifft: AW: Problem mit Referenzen!
von: Michael Scheffler
Geschrieben am: 09.10.2003 15:01:56

Hi,

das ist sowieso schlecht mit 2 Versionen.

Aber wenn's nicht anders geht, dann verzichte auf "early binding" sprich
Verweise. Sondern mach es in etwa so ("late binding":

Dim objOutlook As Object

Set objOutlook = CreateObject("Outlook.Application")

Gruß

Micha


Bild


Betrifft: AW: Problem mit Referenzen!
von: Martin
Geschrieben am: 09.10.2003 15:11:03

Hallo Michael,

danke für die schnelle Antwort.
Zur Zeit habe ich folgende Einträge

Dim olApp As Outlook.Application
Dim oMailItem As Outlook.MailItem
Set olApp = New Outlook.Application
Set oMailItem = olApp.CreateItem(olMailItem)


Soll ich das dann also wie folgt abändern, hat das keine negativen Auswirkungen?

Dim objOutlook As Object
Dim Mail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set Mail = outObj.CreateItem(0)

Gruss,
MArtin


Bild


Betrifft: AW: Problem mit Referenzen!
von: Michael Scheffler
Geschrieben am: 09.10.2003 15:49:50

Hallo Martin,

genau so. Das einzige kleine Problem ist ein Performanceverlust.
Da Du das Teil aber nicht 1000 Mal hintereinander wegschickst,
spielt das keine Rolle.

Weiterer Vorteil, Du kannst abtesten, ob Outlook installiert ist :

On Error Resume Next
Set objOutlook = CreateObject("Outlook.Application")
If Err.Number <> 0 Then
MsgBox "Outlook nicht installiert", vbCritical
Err.Clear
ExitSub
EndIf
On Error Goto Fehlermarke ' Für Hajo:-)

Gruß

Micha


Bild


Betrifft: Danke! [oT]
von: Martin
Geschrieben am: 09.10.2003 15:56:09

M.


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Problem mit Referenzen!"