PDA

Vollständige Version anzeigen : Wo speichert Excel die Menüs und die Makros


gope
27.04.2009, 09:06
Ich krieg noch Junge mit dem Excel:
Ich habe div. VBA-Makros erstellt, die die Tabelleninhalte einem anderen Programm übergeben. Um die Makros aufzurufen, habe ich Menüaufrufe erstellt, die auch tadellos funktionieren. Läuft alles.

Wenn ich jetzt Excel aufrufe, habe ich die neuen Menüs und unter Extra -> Makros -> KEINE Makros. Rufe ich eines der neuen Menüs auf, sind die Makros da und werden auch ausgeführt.

Das heisst für mich, dass Excel irgendwo eine Startdatei versteckt hält, die die Menüeinträge beinhaltet und einen Verweis auf die Speicherorte der Datei, in der die Makros erstellt worden sind. Da mehrere Kollegen mit diesen Werteübergaben an das andere Programm arbeiten sollten, möchte ich den Kollegen die Datei zur Verfügung stellen. Ich bin aber nicht gewillt, auf jedem Rechner die Menüs neu zu erstellen und die Makros irgendwohin zu stellen, damit Excel sie vielleicht findet.

Ich habe in XLStart eine Datei erstellt, die Book.xlt heisst, die führt zwar die richtigen Menüs, hat aber keine Makro drin und findet die zuvor funktionierenden Makros auch nicht.
Bitte um Hilfe

Peter

mumpel
27.04.2009, 09:17
Hallo!

Die Menüeinstellungen befinden sich in der *.xlb. Excel 2007 dagegen speichert die Einstellungen in einer QAT-Datei.

Für Excel 2002 (XP): Excel10.xlb
Für Excel 2003: Excel11.xlb
Für Excel 2007: excel.qat

Wie wäre es, wenn Du das Menü bsw. die Menüleiste temporär erstellst? Dabei werden die Menüs und Symbolleisten über Workbook_Open erstellt und per Workbook_BeforeClose wieder gelöscht. In Excel 2007 geschiet dies über RibbonX.

Gruß, René

gope
27.04.2009, 09:43
Hallo René
Mir fehlt der Plan. Ich finde zwar die excel10.xlb, die die Menüs beinhaltet oder beinhalten soll. Wo sind aber die Makros gespeichert. Ein Default.xlt mit ALLEM wäre mir das Liebste und auch das Einfachste.
Das mit dem RibbonX habe ich nicht kapiert.
Noch was: Wenn ich aus dem Verzeichnis XLStart die Book.xlt direkt starte, habe ich die Makros, wenn ich aber Excel als Programm starte, sind sie nicht da. Ich dachte die Book.xlt ist ist "die" Datei, die verwendet wird, wenn Excel hochfährt.

Also, was ich benötige: Zugriff auf die Datei, die die Menüs und die Makros beinhaltet und die ich nach Kompletierung jedem weitergeben kann, der mit diesen Erweiterungen arbeiten muss.
Was ich nicht möcht: Ich möchte auf keinen Fall an jeden Rechner müssen, um dort etwas einzurichten. Die Übergabe soll im internen Netz erfolgen können. (so nach dem Motto -> Kopier diese Datei dorthin und es funktioniert)

Peter

mumpel
27.04.2009, 10:03
Die Makros sind da, wo Du sie reingeschrieben hast. Wenn Du sie in der personl.xls gespeichert hast, dann findest Du sie dort. Du müsstest also beide Dateien weitergeben. Aber genau das ist nicht in Ordnung. Denn jeder Anwender sollte seine persönliche Makroarbeitsmappe (personl.xls/personal.xlsb) behalten. Vor allem dann, wenn eigene Makros programmiert wurden. Bei Dir stehen die Makros in der Book.xlt, wenn ich das richtig verstehe. Speichere Deine Makros in einer neuen Arbeitsmappe, baue dann den Code für die Menü- und Symbolleisten ein (benutze die Forensuche hierfür) und speichere das ganze als AddIn (bis Excel 2003 als *.xla, ab Excel 2007 als *.xlam). Dieses AddIn kannst Du dann weitergeben, damit funktionieren die Makros in allen Arbeitsmappen. Über eine xlt-Datei solltest Du das nicht machen. Dafür gibt es schon die persönliche Makroarbeitsmappe (bis Excel 2003 die personl.xls, ab Excel 2007 die personal.xlsb).


Das mit dem RibbonX habe ich nicht kapiert.

Die Multifunktionsleiste ist die neue Benutzeroberfläche in Office 2007. Diese lässt sich nicht mehr per VBA erstellen, sondern nur über externe Programmierung. Hierfür hat sich der Begriff RibbonX (kurz für Ribbon XML-Programmierung) etabliert. Wenn Du eine ältere Officeversion verwendest, dann ist RibbonX für Dich uninteressant.

gope
27.04.2009, 10:16
Danke - kapiert.
Ja, wir verwenden hier Excel 2002 für XP. Das mit dem *.xla muss ich mir anschauen.
Aber du hast mir geholfen. Steht ja überhaupt nirgendwo, wie Excel das handhabt. Jedenfalls steh/stand ich dafür auf dem Schlauch.

Peter