Office: ENVIRON

Helfe beim Thema ENVIRON in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Moin alle zusammen, wir nutzen hier Excel 2002. Ich habe eine Excel-Datei mit diversen Makros, wo ich per Environ("username") den Usernamen abfrage.... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von andrehamburg, 12. Januar 2011.

  1. ENVIRON


    Moin alle zusammen,
    wir nutzen hier Excel 2002. Ich habe eine Excel-Datei mit diversen Makros, wo ich per Environ("username") den Usernamen abfrage. Seit einiger Zeit bekommen wir immer wieder die Fehlermeldung, dass die benötigte Bibliothek nicht gefunden wird. In den Verweisen steht dann, dass die Microsoft Outlook 11.0 Object Library nicht vorhanden ist. Ich wähle dann die 10.0 aus und es funktioniert wieder. Dies passiert regelmäßig immer wieder. Weiß jemand warum bzw. was ich dagegen tun kann?

    :)
     
    andrehamburg, 12. Januar 2011
    #1
  2. Hallo!

    Verzichte auf den Verweis (Early-Binding) und setze stattdessen Late-Binding ein. Ein Verweis auf Outlook ist nicht erforderlich. Wie sieht denn Dein Makro aus?

    Gruß, René
     
  3. Moin mumpel,
    du überforderst mich gerade. Was ist denn early oder late binding?

    Beim Öffnen der Datei frage ich den usernamen ab, um abhängig davon verschiedene Sachen auszuführen. Dabei meckert Excel und bleibt beim Debug bei "ENVIRON" hängen.
    Gruß, André
     
    andrehamburg, 13. Januar 2011
    #3
  4. ENVIRON

    Hallo André,

    ich versuch's mal zu erläutern:

    Um auf bestimmte Funktionen zurückgreifen zu können (z. B. Funktionalitäten von Outlook), müssen Bibliotheken eingebunden werden.
    Die Outlook-Bibliothek hast Du über den Verweis eingebunden - das nennt sich "Early Binding" - die Bib. ist also bereits vor dem Start des Makros eingebunden.
    Werden diese Bibliotheken erst während des Makroablaufs eingebunden, nennt sich dies eben late Binding.
    Beides hat Vor- und Nachteile, die abzuwägen wären.
    Grundsätzlich stellt sich natürlich die Frage, ob die Outlook-Bib. überhaupt notwendig ist, dann könnte der Verweis einfach entfernt werden. Diese Einstellung sollte von Dauer sein und beim Neuöffnen der Datei erhalten bleiben.

    Grüße
    EarlFred
     
    EarlFred, 13. Januar 2011
    #4
  5. Ok, verstanden. Wie funktioniert denn das late-binding? Wie sieht so ein Befehl aus?

    Die Bibliothek benötige ich, weiß aber nicht mehr warum. Die Makros sind sehr umfangreich und ich weiß nicht mehr so genau wo es war, aber den Verweis habe damals anlegen müssen. Also sollte wohl ein late binding die Lösung werden.
     
    andrehamburg, 13. Januar 2011
    #5
  6. Der Unterschied (Beispiel).

    Latebinding: olApp As Object
    Earlybinding: olApp As Outlook.MailItem

    Bei Latebinding wird also ein "normales" Objekt erstellt, bei Earlybinding ein Outlookobjekt.
     
  7. Übrigens:

    Der Fehler tritt meistens dann auf, wenn Excel den Pfad zur Library nicht mehr eindeutig zuordnen kann. Woran das genau liegt kann ich nicht sagen. Meist hilft bei solchen Fehlern nur der komplette Neuaufbau der Arbeitsmappe.
     
  8. ENVIRON

    Hallo André,

    Versuch macht kluch: Lösch den Verweis und schau, was passiert. Irgendwo wird er schon meckern. Oder durchsuch Deinen Code nach Wörtern wie "Outlook", "Application" - hier könntest Du Hinweise finden.


    Ich glaube, Du hast noch eine etwas falsche Vorstellung.

    Late Binding wird dann "aktiv", wenn Du ein Objekt erstellst, das eben einer bestimmten Bibliothek zugehört.
    Beispiel:
    Code:
    Du kannst dann (fast) alle Eigenschaften und Methoden dieses Objekttyps verwenden, als wären sie mit EarlyBinding eingebunden. Aber einen Befehl der Art "BindeWasLateEin" gibt es so nicht... Du musst schon wissen, wann Du die Bib. brauchst.

    Grüße
    EarlFred
     
    EarlFred, 13. Januar 2011
    #8
  9. Und den Code (Late-Binding) im Anhang verwende ich in meinem Tool.
     
  10. Oha, jetzt gibt's Stereo-Support :-) Also danke schonmal dafür...

    Das muss ich mir mal in Ruhe anschauen. So nebenbei geht das jetzt hier nicht. Da benötige volle Konzentration.
    Es gibt in der Datei die Möglichkeit aus dieser eine Mail erstellen zu lassen. Das wäre der einzige Punkt, den ich jetzt so aus dem Gedächtnis mit Outlook in Verbindung bringen würde. Aber wie gesagt, ich werde es mir demnächst mal anschauen und mich dann nochmal melden. Vielen Dank für's Erste!
    Gruß, André
     
    andrehamburg, 13. Januar 2011
    #10
  11. MoinMoin,
    ich steig hier nicht durch. Ich weiß nicht wirklich, wo ich ansetzen soll. Dazu bin ich zu sehr "Bastler" als Programmierer. In meiner Datei (ein Schichtplan) gibt es die Möglichkeit, sich die eigenen Schichten per Makro in den Outlook-Kalender eintragen zu lassen. Des Weiteren kann man die Datei als Anhang einer Mail verschicken lassen. Dies geschieht auch per Makro über Outlook.
    Daher kommt Outlook.Application und Ähnliches sehr häufig vor. Wenn ich den Verweis rausnehme, meckert Excel auch sofort.
    Die Datei neu aufsetzen? No Chance! Ich bin froh, dass sie funktioniert. Bis auf das genannte Problem halt.
    Kann es eventuell sein, dass es daran liegt, dass wir unterschiedliche Excel/Outlook-Versionen benutzen? Kann man eventuell per Makro prüfen lassen, welcher Verweis gesetzt ist und wenn notwendig diesen ändern lassen? Das wäre wohl das Einfachste.
     
    andrehamburg, 18. Januar 2011
    #11
  12. Wenn ihr unterschiedliche Versionen nutzt dann ist das normal. Denn Excel hat bei unterschiedlichen Versionen ein Problem mit der automatischen Zuordnung. Wenn Du bei Dir auf die "Outlook 10.0 Object Library" verweist, der Anwender aber Outlook 2010 verwendet, dann stimmt logischerweise die Version nicht mehr, denn Outlook 2010 hat die Version 14.
     
  13. ENVIRON

    Moin Mumpel,
    ich hab's eben geprüft. Bei Outlook 2002 gibt es nur die MS Outlook 10.0 und bei Excel 2003 ist es die 11.0. Ok, dann hätten wir schonmal das Übel. Was kann ich da machen? Kann man das irgendwie makrotechnisch lösen? Andernfalls müsste ich zwei Versionen der Datei ablegen.
     
    andrehamburg, 18. Januar 2011
    #13
  14. Hallo André,

    man kann zwar prüfen, welcher Verweis gesetzt ist, aber
    würde ich nicht behaupten. *wink.gif*
    Hier würde ich der Einfachheit halber late binding bevorzugen.

    Grüße
    EarlFred
     
    EarlFred, 18. Januar 2011
    #14
  15. Hallo EarlFred,
    ich weiß nicht, wie ich die Datei umschreiben muss. Dazu fehlt mir das KnowHow. Abgesehen wäre das auch extrem umfangreich. Dann bleibt mir wohl nur die zwei-Dateien-Lösung?
     
    andrehamburg, 18. Januar 2011
    #15
Thema:

ENVIRON

Die Seite wird geladen...
  1. ENVIRON - Similar Threads - ENVIRON

  2. VBA Programmierung Environ

    in Microsoft Excel Hilfe
    VBA Programmierung Environ: Hallo zusammen, wir haben bei der nachfolgenden Programmierung folgendes Problem: Private Const olExchangeGlobalAddressList As Integer = 0 Private Const olExchangeUserAddressEntry As Integer = 0...
  3. Benutzerverwaltung mit Environ("username")

    in Microsoft Access Hilfe
    Benutzerverwaltung mit Environ("username"): Hallo! ich versuche gerade Environ("username") in meine DB einzubauen. Und zwar möchte ich eine Abfrage filtern nach dem jeweils angemeldeten User. Dazu habe ich in Kriterium Environ("username")...
  4. environ-Variable

    in Microsoft Access Hilfe
    environ-Variable: Hallo, in meiner Acc2000-Tabelle habe ich als Standartwert einer Spalte Environ("username") verwendet. Unter Access2010 kommt nun als Standartwert #Name?... Wer kann mir helfen? Vielen Dank...
  5. Environ-Funktion (Umgebung)

    in Microsoft Access Tutorials
    Environ-Funktion (Umgebung): Environ-Funktion (Umgebung) Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  6. Exceldatei nur von bestimmten Personen öffnen

    in Microsoft Excel Hilfe
    Exceldatei nur von bestimmten Personen öffnen: Hallo zusammen, ich möchte eine Excel Datei nur von bestimmten Usern öffnen lassen können. Dazu habe ich hier im Forum schon etwas gefunden: Private Sub Workbook_Open() Dim...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden