Ich muss also die Excel-App eines anderen auf meinem PC ausführen und erhalte die Meldung "Projekt oder Bibliothek kann nicht gefunden werden" für Standardfunktionen wie Datum, Format, Hex, Mitte usw.
Einige Untersuchungen zeigen, dass, wenn ich diesen Funktionen "VBA" voranstelle. wie in "VBA.Date" dann wird es gut funktionieren.
Webseiten schlagen vor, dass dies mit meinen Projektreferenzen auf meinem System zu tun hat, während sie auf dem Entwicklersystem in Ordnung sein müssen. Ich werde mich für einige Zeit mit anderen befassen und diese Anwendungen an viele andere verteilen, daher muss ich verstehen, was mit meinem Excel-Setup nicht stimmt, das ich reparieren muss, oder was in der 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 wahrscheinlich tun.
- Wie mache ich "VBA"? implizit in meinen Projekteigenschaften / Referenzen / etc?
-Adam
quelle
Antworten:
Ich habe Fehler bei Standardfunktionen gesehen, wenn ein Verweis auf eine völlig andere Bibliothek fehlte.
Starten Sie im VBA-Editor den Befehl Kompilieren über das Menü und überprüfen Sie im Dialogfeld Verweise, ob etwas fehlt, und versuchen Sie in diesem Fall, diese Bibliotheken hinzuzufügen.
Im Allgemeinen scheint es eine gute Praxis zu sein, den vollständigen VBA-Code zu kompilieren und das Dokument dann vor der Verteilung zu speichern.
quelle
Ich hatte das gleiche Problem. Das hat bei mir funktioniert:
quelle
Ich habe genau dieses Problem festgestellt und festgestellt, dass auf dem Computer des Benutzers eine der Bibliotheken, von denen ich abhängig war, im Referenzdialog als "MISSING" markiert wurde. In diesem Fall war eine Office-Schriftartenbibliothek in meiner Version von Office 2007 verfügbar, jedoch nicht auf dem Client-Desktop.
Der Fehler, den Sie erhalten, ist ein vollständiger roter Hering (wie von Divo hervorgehoben).
Glücklicherweise habe ich nichts aus der Bibliothek verwendet, sodass ich es vollständig aus den XLA-Referenzen entfernen konnte. Ich denke, eine Erweiterung der von Divo vorgeschlagenen Best Practice wäre das Testen, um die XLA auf allen Office-Zielversionen zu überprüfen (auf keinen Fall eine schlechte Idee).
quelle
In meinem Fall war 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-Objektbibliothek entfernt und voila! Sie müssen den VBA nicht verwenden. Präfix.
quelle
In meinem Fall konnte ich nicht einmal "Referenzen" im Visual Basic-Fenster öffnen. Ich habe sogar versucht, Office 365 neu zu installieren, und das hat nicht funktioniert. Schließlich habe ich versucht, Makros in den "Trust Center" -Einstellungen zu deaktivieren. Beim Neustart von Excel wurde die Warnmeldung angezeigt, dass Makros deaktiviert waren, und beim Klicken auf "Aktivieren" wurde die Fehlermeldung nicht mehr angezeigt.
Später habe ich alle Makros in den "Trust Center" -Einstellungen wieder aktiviert und die Fehlermeldung wurde nicht angezeigt!
Hey, wenn nichts anderes für Sie funktioniert, versuchen Sie es oben; es hat bei mir funktioniert! :) :)
Update: Das Problem ist zurückgekehrt, und so habe ich es beim zweiten Mal "behoben" :
Ich habe meine Arbeitsmappe in Excel online geöffnet (Office 365 im Browser, der ohnehin keine Makros unterstützt), sie unter einem neuen Dateinamen gespeichert (immer noch mit der Dateierweiterung XLSM) und in der Desktop-Software erneut geöffnet. Es funktionierte.
quelle
.xlsm
Arbeitsmappen scheinbar zufällig vorkommt , wenn auch ziemlich selten - anekdotisch scheint es bei komplizierteren Dateien häufiger vorzukommen. Es scheint, dass ein Element der VBA-Bibliothek beschädigt werden kann, aber die Tatsache, dass Excel Online dasIn meinem Fall überprüfte ich die Arbeit an meinem Bürocomputer (mit installiertem Visio) zu Hause (kein Visio). Obwohl VBA anscheinend an einfachen Standardfunktionen festhielt, bestand das Problem darin, dass ich Verweise auf die noch aktiven Visio-Bibliotheken hatte.
quelle
Ich habe Verweise auf eine AVAYA / CMS-Programmdatei gefunden. Völlig zufällig war dies in MS Access, nichts mit AVAYA zu tun. Ich habe AVAYA auf meinem PC und andere nicht. Dies erklärt, warum es auf meinem Computer funktioniert hat und nicht auf anderen - aber nicht, wie Access mit AVAYA verbunden wurde. Wie auch immer - ich habe gerade die Referenz deaktiviert und das scheint das Problem behoben zu haben
quelle
Ich habe diesen Fehler ungefähr zwei Jahre lang in mehreren XLSM-Dateien ein- und ausgeschaltet (was am ärgerlichsten ist, da an der Datei nichts falsch ist! - Ich vermute, dass verwaiste Excel-Prozesse Teil des Problems sind).
Die effizienteste Lösung, die ich gefunden hatte, war, Python mit oletools zu verwenden
https://github.com/decalage2/oletools/wiki/Install
und den VBA-Code aller Module zu extrahieren und in einer Textdatei zu speichern.Dann benenne ich die Datei einfach in Zip-Datei um (Backup für alle Fälle!), Öffne diese Zip-Datei und lösche die Datei xl / vbaProject.bin. Benennen Sie wieder in XLSX um und sollten Sie loslegen.
Kopieren Sie den gespeicherten VBA-Code (der die Bereinigung von Zeilenumbrüchen, Kommentaren und anderen Dingen erfordert. Außerdem müssen fehlende Bibliotheken hinzugefügt werden.
Das hat mich gerettet, wenn andere Methoden es nicht getan haben.
YMMV.
quelle