wake-up-neo.net

"Projekt oder Bibliothek kann nicht gefunden werden" für Standard-VBA-Funktionen

Ich muss also die Excel-App eines anderen Benutzers auf meinem PC ausführen, und ich bekomme die Meldung "Projekt oder Bibliothek kann nicht gefunden werden" für Standardfunktionen wie Datum, Format, Hex, Mitte usw.

Einige Untersuchungen zeigen, dass, wenn ich diese Funktionen mit "VBA" voranstelle. wie in "VBA.Date" dann wird es gut funktionieren.

Webseiten legen nahe, dass dies mit meinen Projektverweisen auf meinem System zusammenhängt, während sie auf dem System des Entwicklers in Ordnung sein müssen. Ich werde mich dies einige Zeit mit anderen beschäftigen und werde diese Anwendungen an viele andere verteilen. Ich muss also verstehen, was mit meinem Excel-Setup falsch ist, das ich reparieren muss, oder was in der Version geändert werden muss xls-Datei, damit sie auf einer Vielzahl von Systemen ausgeführt werden kann. Ich möchte vermeiden, dass jeder "VBA" verwendet. als explizite Referenz, aber wenn es keine ideale Lösung gibt, müssen wir das wohl tun.

  • Wie mache ich "VBA". implizit in meinen Projekteigenschaften/Referenzen/etc?

-Adam

65
Adam Davis

Ich habe Fehler bei Standardfunktionen gesehen, wenn ein Hinweis auf eine völlig andere Bibliothek fehlte. 

Starten Sie im VBA-Editor den Befehl Kompilieren aus dem Menü und prüfen Sie dann im Dialogfeld "Referenzen", ob etwas fehlt, und versuchen Sie, diese Bibliotheken hinzuzufügen.

Im Allgemeinen scheint es eine gute Praxis zu sein, den vollständigen VBA-Code zu kompilieren und das Dokument vor der Verteilung zu speichern.

58
Dirk Vollmar

Ich hatte das gleiche Problem. Das hat für mich funktioniert: 

  • In VB gehen Sie zu Extras »Referenzen
  • Deaktivieren Sie die Bibliothek "Crystal Analysis Common Controls 1.0". Oder eine Bibliothek.
  • Belassen Sie einfach diese 5 Referenzen:
    1. Visual Basic für Applikationen (Dies ist die Bibliothek, die die VBA-Sprache definiert.)
    2. Microsoft Excel-Objektbibliothek (Dies definiert alle Elemente von Excel.)
    3. OLE-Automatisierung (Dies gibt die Typen für das Verknüpfen und Einbetten von Dokumenten und für die Automatisierung anderer Anwendungen sowie die "Klempnerarbeiten" des COM-Systems an, das Excel für die Kommunikation mit der Außenwelt verwendet.
    4. Microsoft Office (Dies definiert Dinge, die allen Office-Programmen gemeinsam sind, z. B. Befehlsleisten und Befehlsleistensteuerelemente.)
    5. Microsoft Forms 2.0 Dies ist erforderlich, wenn Sie ein Benutzerformular verwenden. Diese Bibliothek definiert Dinge wie das Benutzerformular und die Steuerelemente, die Sie in ein Formular einfügen können. 
  • Dann speichern.
29
andres

Ich habe genau dieses Problem erlebt und auf dem Benutzercomputer festgestellt, dass eine der Bibliotheken, auf die ich mich verlassen habe, im Verweisdialogfeld als "MISSING" markiert wurde. In diesem Fall war eine Office-Schriftartenbibliothek in meiner Version von Office 2007 verfügbar, jedoch nicht auf dem Clientdesktop. 

Der Fehler, den Sie erhalten, ist ein kompletter Roter Hering (wie von Divo angegeben).

Glücklicherweise habe ich nichts aus der Bibliothek verwendet, sodass ich es vollständig aus den XLA-Referenzen entfernen konnte. Ich denke, eine Erweiterung von Divo 'ist die empfohlene Methode, die XLA auf allen Ziel-Office-Versionen zu testen (in keinem Fall eine schlechte Idee).

15
RedBlueThing

In meinem Fall war es die Funktion AMBIGUOUS, wie sie in der VBA-Bibliothek (in meinen Referenzen vorhanden) und auch in der Microsoft Office-Objektbibliothek (ebenfalls vorhanden) definiert wurde. Ich habe die Microsoft Office Object Library entfernt und voila! Keine Notwendigkeit, den VBA zu verwenden. Präfix.

9
blue_wardrobe

In meinem Fall überprüfte ich die Arbeit auf meinem Bürocomputer (mit installiertem Visio) zu Hause (kein Visio). Obwohl VBA scheinbar auf einfache Standardfunktionen beschränkt war, bestand das Problem darin, dass ich Verweise auf die noch aktiven Visio-Bibliotheken hatte.

0
SmrtGrunt