Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
652to656
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
652to656
652to656
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Bibliotheken einbinden
16.08.2005 09:15:33
WebViper
Hallo,
ich habe ein Excel-Makro, das auf eine Library zugreift, die in Excel nicht standardmäßig eingebunden ist.
Wenn jetzt jemand anderes die Datei öffnet bekommt derjenige Kompilierungsfehler.
Bei mir gehts, da ich die Library eingebunden hab.
Kann ich das einbinden dieser Library irgendwie per Code nachholen, falls nicht vorhanden?
Andere Lösungsvorschläge?
Danke!
WebViper

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bibliotheken einbinden
16.08.2005 10:08:54
Nepumuk
Hi,
das kann ich nicht nachvollziehen. Verweise werden mit der Mappe gespeichert. Welche Bibliothek ist es denn?
Gruß
Nepumuk
Excel & VBA – Beispiele
AW: Bibliotheken einbinden
16.08.2005 10:17:02
WebViper
Hallo,
liegt dann der Fehler wo anders? Also meiner meinung handelt es sich um die MS Office 11.0 Object Lib.
Bei mir funktioniert die Datei einwandfrei, ich leg sie auf einem Laufwerk ab und wenn jemand anders zugreift bekommt derjenige einen Kompilierungsfehler.
Wenn ich bei demjenigen die Libraries neu setze läuft der Code auf einmal problemlos durch...
Ich wüsste nicht, woran es sonst liegen sollte.
Probleme macht dieser Code:
'********************************************************************************************
' Beim Öffnen wird die Tastaturkombination und die Report-CommandBar definiert
'********************************************************************************************

Private Sub Workbook_Activate()
'On Error Resume Next
Dim oPopUp As CommandBarPopup
Dim oBtn As CommandBarButton
Application.MacroOptions macro:="QuickCheck", _
Description:="", ShortcutKey:="q"
-->  For Each oPopUp In Application.CommandBars(1).Controls
-->    If oPopUp.Caption = "Report-Funktionen" Then
-->      oPopUp.Delete
-->    End If
Next
-->  Set oPopUp = Application.CommandBars(1).Controls.Add(Type:=msoControlPopup, before:=10, ID:=123456789)
-->  oPopUp.Caption = "Report-Funktionen"
-->  oPopUp.Visible = True
-->  Set oBtn = oPopUp.Controls.Add
-->  With oBtn
-->      .Caption = "QuickCheck <Strg+Q>"
-->      .Style = msoButtonCaption
-->      .OnAction = "QuickCheck"
End With
End Sub

'********************************************************************************************
' Beim Schließen wird die Report-Commandbar wieder entfernt
'********************************************************************************************

Private Sub Workbook_Deactivate()
-->  Dim oPopUp As CommandBarPopup
-->  For Each oPopUp In Application.CommandBars(1).Controls
-->    If oPopUp.Caption = "Report-Funktionen" Then
-->      oPopUp.Delete
End If
Next
End Sub

Eine andere Idee?
Danke!
WebViper
Anzeige
AW: Bibliotheken einbinden
16.08.2005 10:29:47
Nepumuk
Hi,
an der kann es sicher nicht liegen, da sonst in der Mappe keine Symbolleisten (die sind Teil der Office - DLL) nicht angezeigt werden könnten. Sind außer den 4 Standardbibliotheken:
Visual Basic For Application
Microsoft Excel X.X Object Library
OLE Automation
Microsoft Office X.X Object Library
noch andere Verweise in der Mappe?
Gruß
Nepumuk
Excel & VBA – Beispiele
AW: Bibliotheken einbinden
16.08.2005 10:45:32
WebViper
Hi,
ja, nämlich die:
MS Forms 2.0 Object Lib
MS ActiveXData Objects 2.x Lib
Gruß,
WebViper
AW: Bibliotheken einbinden
16.08.2005 10:54:34
Nepumuk
Hi,
MS Forms 2.0 Object Lib:
Ein ActiveX - Control in einer Tabelle bzw. ein Userform in der Mappe. Das ist eine Standard - DLL.
Aber die:
MS ActiveXData Objects 2.x Lib
sagt mir nichts. Kannst du diese auch auf dem anderen Rechner laden?
Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
AW: Bibliotheken einbinden
16.08.2005 11:06:39
WebViper
Hi,
ja, die kann ich laden. die brauche ich aber nur für die zeile (Shortcut):
Application.MacroOptions macro:="QuickCheck", _
Description:="", ShortcutKey:="q"
Aber die Office 11.0 ist Standardmäßig nicht eingebunden. Und ohne die läuft auch der Code nicht...
Einen Menüpunkt in einer Leiste zu erstellen ist doch auch mehr oder weniger "Office Standard" oder?
Gruß,
WebViper
AW: Bibliotheken einbinden
16.08.2005 12:01:37
Nepumuk
Hi,
dafür: Application.MacroOptions macro:="QuickCheck", _
Description:="", ShortcutKey:="q"
benötigst du keinesfalls den Verweis. Denn der geht auf die Excel - OLB.
Ich arbeite mit Excel2000, da wird die Office - DLL grundsätzlich geladen.
Öffne mal die Mappe auf dem anderen Rechner und lass in einer zweiten Mappe folgendes Makro laufen:
Public Sub test()
    Dim objRef As Object
    For Each objRef In Workbooks("Mappe1.xls").VBProject.References
        If objRef.isbroken Then MsgBox objRef.Description
    Next
End Sub

Den Dateinamen musst du natürlich noch anpassen. Wenn eine fehlerhafter Verweis drin ist, wird er dir angezeigt.
Gruß
Nepumuk
Anzeige
AW: Bibliotheken einbinden
16.08.2005 16:38:12
WebViper
Hallo,
ich kann den Fehler jetzt irgendwie nicht mehr reproduzieren...
Jetzt wo ich die Libraries mal gesetzt hab.
Ich muss mal schaun, ob ich von einem weiteren Rechner diesen Fall nochmal erzeugen kann.
Danke erst mal...
Gruß,
WebViper
AW: Bibliotheken einbinden
17.08.2005 08:30:34
WebViper
Hallo,
beim ausführen des Codes bekomme ich folgende Fehlermeldung:
Userbild
Das Problem scheint doch wo anders zu liegen. Ich hab jetzt nämlich versucht, die Libraries in dem Dokument auf meinem Rechner neu zu setzten.
Öffne ich die Datei auf einen anderen Rechner (aktuellstes Office + alles SPs und Hotfixes) sind auch alle Libraries eingebunden, aber ich bekomme fehlermeldungen beim Ausführen des Codes.
Öffne ich über Extras --&gt Verweise das Fenster der Bibliotheken, ändere nichts an den Einstellungen und Klicke einfach auf OK (statt Abbrechen) funktioniert der Code auf einmal. Ohne Irgendwelche Verweise oder so neu gesetzt zu haben!
Komisch, oder?
Gruß,
WebViper
Anzeige
AW: Bibliotheken einbinden
17.08.2005 08:42:49
Nepumuk
Hi,
du musst ab XP unter Extras - Makro - Sicherheit - Vertrauenswürdige Quellen - Zugriff auf Visual Basic-Projekt vertrauen ein Häkchen rein machen.
Gruß
Nepumuk
Excel & VBA – Beispiele
AW: Bibliotheken einbinden
16.08.2005 13:13:33
Fred
Hi,
erstell die controls mit Late Binding, dann entfällt das Problem.
mfg Fred
AW: Bibliotheken einbinden
16.08.2005 14:47:10
WebViper
Hi,
und wie geht das?
Gruß,
WebViper
AW: Bibliotheken einbinden
16.08.2005 15:52:33
Fred
Hi,
sorry, ich hatte bei VBA gut vorausgesetzt, dass das bekannt ist. Die Objecte allgemein deklarieren und statt msoControlPopup den entsprechenden Zahlenwert verwenden, hier 10
Option Explicit

Private Sub Workbook_Activate()
Dim oPopUp As Object
Dim oBtn As Object
Application.MacroOptions macro:="QuickCheck", _
Description:="", ShortcutKey:="q"
For Each oPopUp In Application.CommandBars(1).Controls
If oPopUp.Caption = "Report-Funktionen" Then
oPopUp.Delete
End If
Next
Set oPopUp = Application.CommandBars(1).Controls.Add(Type:=10, before:=10, ID:=123456789)
oPopUp.Caption = "Report-Funktionen"
oPopUp.Visible = True
Set oBtn = oPopUp.Controls.Add
With oBtn
.Caption = "QuickCheck <Strg+Q>"
.Style = 2
.OnAction = "QuickCheck"
End With
End Sub

Für MacroOptions ist kein spezieller Verweis nötig.
mfg Fred
Anzeige
AW: Bibliotheken einbinden
17.08.2005 08:21:59
WebViper
Hi,
ich wuerde zwar behaupten, dass ich in vba einiges weiß inzwischen, aber das war mir unbekannt... Ich teste es mal!
Dank dir!
WebViper
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen