Autor
|
Thema: PERSONL.XLS als XLA (5101 mal gelesen)
|
Fritz5002 Mitglied Techniker
Beiträge: 29 Registriert: 23.10.2009 Win XP
|
erstellt am: 17. Jan. 2010 19:43 <-- editieren / zitieren --> Unities abgeben:
Hallo, eventuell hat bereits jemand ähnliche Probleme gehabt und eine bessere Lösung gefungen. PERSONL.XLS ist die Datei, die von Excel selbst geladen wird. Hier habe ich in letzter Zeit fast alle meine Macroprogrogramme eingefügt. Somit kann ich diese ohne Pfadangabe im Button in der Leiste vereinbaren. Wie es kam weiß ich nicht mehr genau, aber seit einiger Zeit schreibt Excel immer irgend etwas in diese PERSONL.XLS hinein und will diese bei der Beendigung von Excel immer speichern. Excel fragte jedenfalls immer nach. Mit der Zeit war mir das zu lästig und ich habe die PERSONL.XLS in eine XLA gewandelt. Damit war das genannte Problem beseitigt. Diese PERSONL.XLA hab ich auf einem Computer mit EXCEL-2000 und Excel-2003 installiert. Die Macroprogramme kann ich bei beiden problemlos aufrufen. Jetzt hab ich aber noch ein Computer mit OpenOffic, (für einen Mitarbeiter der sich mit Excel nicht auskennt) und EXCEL-2007, mit dem sich keiner auskennt. Eine Mitarbeiterin, die damit eher arbeiten wollte als mit OpenOffic kommt damit aber doch nicht klar, auch nicht mit Hilfe des Buches, das ich ihr besorgt hab. Ich hatte mir mal mehrere Excel-2007-Versionen zugelegt, aber nachdem ich gesehen hatte, daß MS vollkommen fremde Programmierer an diese Version rangesetzt haben muß, ist MS-Offic für mich erst mal liegen geblieben. Ich kann mich nicht immer um alles kümmern. Bei EXCEL-2007 weiß ich nicht, wie ich die Macroprogramme in den Buttons vereinbaren kann. Bei den alten EXCEL-Versionen konnte ich problemlos sogar die Abbilder nach meinen Vorstellungen anpassen. Bei Excel-2007 schein kein Weg rein zu führen. Kann mir jemand helfen?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 17. Jan. 2010 19:56 <-- editieren / zitieren --> Unities abgeben: Nur für Fritz5002
|
Beverly Mitglied Dipl.-Geologe (Rentner)
Beiträge: 394 Registriert: 11.08.2007
|
erstellt am: 18. Jan. 2010 10:21 <-- editieren / zitieren --> Unities abgeben: Nur für Fritz5002
Hi Fritz, zur Lösung deines eigentlichen Problems hast du ja eine umfassende Antwort erhalten. Deshalb hier nur eine mögliche Antwort auf deine Bemerkung: Zitat: Wie es kam weiß ich nicht mehr genau, aber seit einiger Zeit schreibt Excel immer irgend etwas in diese PERSONL.XLS hinein und will diese bei der Beendigung von Excel immer speichern. Excel fragte jedenfalls immer nach.
Beim Aufzeichnen von Makros gibt es die Option "Makro speichern in", in der standardmäßig ausgewählt ist "Diese Arbeitsmappe". Dort gibt es auch die Option "Persönliche Makroarbeitsmappe", die du - so nehme ich an - irgendwann gewählt hast. Excel behält aber immer die zuletzt gewählte Einstellung bei. Wenn du diese Einstellung wieder zurücksetzt, sollte der Urzustand wieder hergestellt sein. ------------------ Bis später, Karin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing.
Beiträge: 3728 Registriert: 29.09.2004 Excel 2010 128GB SSD Windows 7
|
erstellt am: 18. Jan. 2010 13:41 <-- editieren / zitieren --> Unities abgeben: Nur für Fritz5002
Hab da auch eine Frage dazu. Zu Hause, Excel 2000, hab ich eine xla - Datei am entsprechenden Ort abgelegt (.......\XLSTART\) Beim Starten von Excel wird diese Datei im Hintergrund geladen, die Makros darin stehen zu Verfügung, alles i.O. In der Firma, Excel 2003, hab ich auch eine xla - Datei am entsprechenden Ort abgelegt (C:\Programme\Microsoft Office\OFFICE11\XLSTART) Beim Starten von Excel wird aber die Datei nicht im Hintergrund gestartet, sondern als Dokument geöffnet, was etwas doof ist, da man schnell mal auf diesem Dokument zu arbeiten beginnt. Schliesst man die Datei, stehen die Makros nur noch bedingt zur Verfügung. Bei der Verwenden von einem Makro wird ganz einfach die Datei wieder geöffnet. Gibt es da Abhilfe? Gruss Mike ------------------ The Power Of Dreams Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beverly Mitglied Dipl.-Geologe (Rentner)
Beiträge: 394 Registriert: 11.08.2007
|
erstellt am: 18. Jan. 2010 14:00 <-- editieren / zitieren --> Unities abgeben: Nur für Fritz5002
|
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing.
Beiträge: 3728 Registriert: 29.09.2004 Excel 2010 128GB SSD Windows 7
|
erstellt am: 18. Jan. 2010 14:50 <-- editieren / zitieren --> Unities abgeben: Nur für Fritz5002
|
Fritz5002 Mitglied Techniker
Beiträge: 29 Registriert: 23.10.2009 Win XP
|
erstellt am: 18. Jan. 2010 15:19 <-- editieren / zitieren --> Unities abgeben:
Hallo Runkelruebe, Danke, da hab ich eine Weile zu lesen, aber meine bisherige Einstellung zu Office 2007 wurde dadurch nur bestärkt. Mal sehen wie ich damit klar komme. Hallo Beverly,
daran liegt es nicht. Habe es probiert. Excel muss irgend etwas in die PERSONL.XLS schreiben, ohne dass ich etwas mit Makros mache. In der Art, Excel starten und wieder schließen. Excel fragt, ob die PERSONL.XLS gespeichert werden soll. (Die Voreinstellung um Makros zu speichern verweist jetzt auf die aktuelle Arbeitsmappe) Mal sehen, ob ich auf einem der Pfade von Runkelruebe was rausfinde. Eventuell könnte mir noch jemand helfen mit den Buttons. Und zwar mit diesen kleinen Bildern darauf. Ich hätte gerne auf jedem Computer, auf dem das gleiche Makro läuft auch gern das gleiche Bild abgebildet. Bis jetzt muss ich mir bei jeder Installation jeden Schalten neu malen. Hier gibt es bestimmt schon eine einfache Lösung, diese Bilder kopieren zu können? Weiß jemand wie das geht?
Gruß Fritz
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beverly Mitglied Dipl.-Geologe (Rentner)
Beiträge: 394 Registriert: 11.08.2007
|
erstellt am: 18. Jan. 2010 15:30 <-- editieren / zitieren --> Unities abgeben: Nur für Fritz5002
Hi Fritz, erstellst du die Symbolleisten per VBA? Speichere die Icons (Bilder) in einem Tabellenblatt und lade sie dann auf die Schalter, so nach dem folgenden Prinzip (cbNeu ist als CommandBar deklariert: Code:
' Schalter mit Icons hinzufügen With cbNeu.Controls.Add ' für Excelversion vor 2002 If Val(Application.Version) < 10 Then ' Icon einfügen .FaceId = 68 Else ' das in Tabelle1 vorhandene Clipart kopieren ThisWorkbook.Worksheets("Tabelle1").Pictures(1).Copy Application.Wait Now + TimeValue("00:00:01") ' kopiertes Clipart als Schalter-Icon einfügen .PasteFace End If ' Aktion, die bei Drücken des Schalters ausgefüht wird .OnAction = "MakroSchalter1" ' Anzeigetext .TooltipText = "Schalter 1" End With
Die Excelversionen vor 2002 (XP) erlauben die Verwendung eigener Icons nicht, deshalb muss in diesem Fall eine interne FaceID genommen werden. ------------------ Bis später, Karin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fritz5002 Mitglied Techniker
Beiträge: 29 Registriert: 23.10.2009 Win XP
|
erstellt am: 18. Jan. 2010 15:45 <-- editieren / zitieren --> Unities abgeben:
Hallo Oberli Mike eigentlich dürfte es bei Excel nicht vorkommen, dass eine XLA angezeigt wird, denn die ist für Excel (Tabellenkalkulationsteil) unsichtbar. Außerdem schreibt Excel nicht in eine XLA hinein. Weil das so ist hatte ich den oben genannten Ausweg gewählt. Wenn Du aber eine XLS-Datei in den Startpfad XLSTART legst, dann wird diese Datei beim Start von Excel immer geöffnet. Ich habe auch schon XLA-Dateien zurück gewandelt, geändert und dann wieder benutzt. Hierbei ist mir auch mal ein Fehler passiert. Ich hatte die XLA-Datei nicht zurück gewandelt, zur XLA. Das hatte ich aber schnell gemerkt, weil ich plötzlich wieder in diese Datei unter Excel-Tabellenkalkulation reinschreiben konnte. Wenn Du also Makros in einer XLS-Datei in dem XLSTART-Pfad hast, dann solltest Du die Tabellenblätter unsichtbar machen, damit keiner versehentlich reinschreibt. Da EXCEL bei jeder Version neue Pfadvereinbarungen erfindet, lege ich die EXCEL-Mappen mit den Makros fast nur noch in XLSTART ab. Jetzt muss ich mir nicht mehr so viele Pfade merken. Wenn ich sicher gehen will, dass Excel nichts in diese Datei schreiben können soll, dann eben als XLA. Gruß Fritz
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fritz5002 Mitglied Techniker
Beiträge: 29 Registriert: 23.10.2009 Win XP
|
erstellt am: 18. Jan. 2010 15:50 <-- editieren / zitieren --> Unities abgeben:
|
Fritz5002 Mitglied Techniker
Beiträge: 29 Registriert: 23.10.2009 Win XP
|
erstellt am: 20. Jan. 2010 15:22 <-- editieren / zitieren --> Unities abgeben:
Hallo Beverly, nochmals vielen Dank für den komplexen Beitrag. Bin jetzt endlich dazu gekommen mir den Programmtext anzuschauen. Zuerst die Antwort auf Deine Frage, bisher habe ich alle Einstellungen in der Programmleiste manuell getätigt und bin dabei mit Excel 2007 ins straucheln gekommen. Nach diesen Erkenntnissen fehlte bei Excel 2000 die Möglichkeit verschiedene Angaben per Makro vorzunehmen. Schade, dass man bei Excel 2007 die manuelle Vorgabe dermaßen beschnitten hat. Einige Sachen sollen auf Excel 2003 funktionieren, aber an den Computer, auf dem das drauf ist, komme ich nur abends für kurze Zeit ran. Wo kann ich mich über den Begriff FaceID schlau machen? Oder kann mir jemand in 2 Sätzen sagen, was es damit auf sich hat? (Folgefrage, lohnt es sich damit zu beschäftigen oder ist das auch abgelaufen) Wie oben schon mal gesagt, ich mache hier fast alles und das Programmieren auch nur so weit, wie ich die Zeit dafür habe, um sich ständig wiederholende Routinen im Büroablauf Stück für Stück schneller zu machen. bis später, Fritz
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing.
Beiträge: 3728 Registriert: 29.09.2004 Excel 2010 128GB SSD Windows 7
|
erstellt am: 20. Jan. 2010 15:36 <-- editieren / zitieren --> Unities abgeben: Nur für Fritz5002
Zitat: Original erstellt von Fritz5002: eigentlich dürfte es bei Excel nicht vorkommen, dass eine XLA angezeigt wird, denn die ist für Excel (Tabellenkalkulationsteil) unsichtbar. Außerdem schreibt Excel nicht in eine XLA hinein. Weil das so ist hatte ich den oben genannten Ausweg gewählt. Wenn Du aber eine XLS-Datei in den Startpfad XLSTART legst, dann wird diese Datei beim Start von Excel immer geöffnet.
Es war definitiv eine XLA, ist es auch jetzt noch. Das mit dem AddIn funktioniert sehr gut! Gruss Mike ------------------ The Power Of Dreams Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beverly Mitglied Dipl.-Geologe (Rentner)
Beiträge: 394 Registriert: 11.08.2007
|
erstellt am: 20. Jan. 2010 15:52 <-- editieren / zitieren --> Unities abgeben: Nur für Fritz5002
Hi Fritz, wenn du eine Symbolleiste über VBA programmierst kannst du 1. den Schalter leer lassen 2. ein in Excel integriertes Symbol (Icon) verwenden 3. ab Excel2002 auch selbst erstellte Grafiken als Symbol verwenden. Die FaceID ist die "Index-Nummer", mit welcher Excel die integrierten Symbole (Icons) "nummeriert". Du kannst dir mit dem folgenden Code alle Icons mit der dazugehörigen FaceID im Tabellenlbatt auflisten lassen:
Code: Sub FaceID_und_Icon() 'Peter Haserodt 2004 'Schreibt in das Active Sheet die FaceID und das Bild dazu Dim iZahl As Long, oCommand As CommandBar, g As Object Application.ScreenUpdating = False With ActiveSheet .Cells.Clear ' Altes raus .Shapes.SelectAll ' Weg mit den Shapes Selection.Delete For Each oCommand In Application.CommandBars For Each g In oCommand.Controls If TypeName(g) = "CommandBarButton" Then If g.FaceId <> 0 Then iZahl = iZahl + 1 .Cells(iZahl, 1) = g.FaceId g.CopyFace .Cells(iZahl, 2).Select ' Ich denke dass müsste raus aber wie ? .Paste End If End If Next Next End With Application.ScreenUpdating = True End Sub
Symbolleisten, die in den Versionen vor 2007 per VBA erstellt werden, können auch in Excel2007/2010 verwendet werden, sie sind dann im Register AddIns zu finden. Symbolleisten, die in Excel2007/2010 programmiert wurden, können jedoch nicht in den Vorgängerversionen verwendet werden. FaceID's sind also keineswegs unwichtig, so lange noch Excelversionen vor 2007 in Umlauf sind (und es wird sicher noch eine ganze Weile dauern bis das nicht mehr der Fall ist). ------------------ Bis später, Karin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fritz5002 Mitglied Techniker
Beiträge: 29 Registriert: 23.10.2009 Win XP
|
erstellt am: 20. Jan. 2010 16:16 <-- editieren / zitieren --> Unities abgeben:
Hallo Oberli Mike, ich hatte auch mal Probleme mit dem ADDIn-Pfad (weiß nicht mehr ob bei 2000 oder 2003). Excel fand meine XLA's nicht, obwohl ich diese extra vereinbart hatte. Seit dem liegen meine Makro-Dateien (XLS und XLA) unter XLStart. Wie gesagt, je Version nur noch ein Pfad, den ich mir merken muß. Manches läuft seltsam. Ich vermute dass es daran liegt, dass Excel intern immer versucht kleine Fehler zu korrigieren, bis es sowas wie Speicherüberlauf gibt. Aber dafür geben wir uns gegenseitig Tips, um weiter zu kommen. Gruß Fritz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fritz5002 Mitglied Techniker
Beiträge: 29 Registriert: 23.10.2009 Win XP
|
erstellt am: 20. Jan. 2010 16:21 <-- editieren / zitieren --> Unities abgeben:
|
Fritz5002 Mitglied Techniker
Beiträge: 29 Registriert: 23.10.2009 Win XP
|
erstellt am: 18. Apr. 2010 20:07 <-- editieren / zitieren --> Unities abgeben:
Hallo Beverly, das war mir eine große Hilfe, da ich zum ersten Mal mit einem Bereich bekannt wurde, von dem ich keine Ahnung hatte. Ich hatte nur Angst, dass ich was kaputt machen könnte und hab mir erst ein Buch gekauft. "EXCEL VBA", Kompendium von Held. Hier fand ich für's erste die Variante sehr gut, in der vorhandenen Menüleiste, die noch relativ leer ist, ein (oder mehrere) neues beliebiges eigenes Menü unter zu bringen. Das Beispiel von Held habe ich aber umgebaut und eine Exceltabelle als Ini-Datei genutzt, aus der das Programm die gewünschten veränderlichen Daten entnimmt. Noch ist das Programm etwas umfangreich, da ich jedes aufzurufende Makro einzeln auslese. Das ließe sich sehr gut als Schleife machen. Dann richtet sich das Programm nach der Anzahl der Einträge in der "Ini-Datei". Zu der Wahl bin ich gekommen, weil die Symbolleiste meißtens bereits voll ist. Die Menüleiste aber wie oben gesagt fast leer. Und ich habe die Dropdouvn-Version gewählt, die Aufklappt und alle meine genutzten Makros zur Auswahl zeigt. Das funktioniert auch erst mal sehr gut. Ja und noch etwas, was wichtig ist, wenn das Programm in einer Schleife aufgebaut ist. Das letzte aufgelistete Makro aktualisiert das Menü, in dem es gelöscht und wieder neu reingeschrieben wird. Damit kann das Menü aktualisiert werden, in dem nur die "Ini-Datei" verändert wird. Das Programm, welches das Menü erzeugt, bleibt unverändert. Soweit ist erst einmal alles bestens, bis darauf, dass ich festgestellt habe, dass sich Excel seine Menus auf meinem Computer selbst anders geschrieben hat, als im Standardfall. Währ mir sonst nicht aufgefallen. Das beunruhigt mich ein bischen weil der Computer sehr sehr selten mit dem Internet in Berürung kommt. Aber damit muß ich wohl leben... Beste Grüße von Fritz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|