an Frank-K - Fortsetzung Speicherproblem
02.05.2007 23:04:01
Oberschlumpf
Für Interessierte hier der Start:
https://www.herber.de/forum/archiv/864to868/t865875.htm
So, nun hatte ich wieder Zeit, und nun bin ich fertig...glaube ich.
Hier schon mal die Datei:
Die Datei https://www.herber.de/bbs/user/42190.xlt wurde aus Datenschutzgründen gelöscht
Dazu später mehr.
Aber zuerst einmal der Aufbau und die Funktionsweise der Datei.
Die Datei besteht aus...
- einer nun eigenen! Symbolleiste
- 3 Tabellenblättern (1 = Hauptrechnungsblatt, 2+3 = wenn mehr Positionen vorhanden als auf Blatt 1 passen)
Was die nun eigene Symbolleiste betrifft, hatte ich dich so verstanden, dass deine Symbolleiste immer sichtbar ist, egal welche Excel-Datei gerade geöffnet ist.
Deswegen habe ich die Symbolleiste nun so programmiert, dass sie...
...angezeigt wird, wenn die Rechnungsvorlage ...
- geöffnet wird
- aktiviert wird
....ausgeblendet wird, wenn die Rechnungsvorlage ...
- geschlossen wird
- deaktiviert wird
Somit kannst du die Buttons auch wirklich nur dann anklicken, wenn die Rechnungsvorlage gerade auch wirklich aktiv ist und nicht mehr, wenn du gerade in einer anderen Excel-Datei arbeitest.
Ausserdem musst du nun nicht auf jedem PC die Symbolleiste extra erstellen, da sie im VBA-Code erstellt wird, und somit automatisch mit der Rechnungsvorlage "mitwandert".
Wenn ich dich aber falsch verstanden habe, und auch deine Symbolleiste ist schon genau so programmiert, tja...dann hab ich das Rad ein 2. Mal erfunden :-)
Die Datei funktioniert so:
- die Datei wird geöffnet; die Symbolleiste ist sichtbar
- nun kannst du die ganzen Daten eingeben
- zusätzlich habe ich noch für den Namen + Adresse des Empfängers Platzhalter eingebaut.
anstelle von Name, Straße + PLZ Ort kannst du an diesen Stellen nun entsprechendes eingeben.
Beim Löschen der Daten steht hier dann wieder Name, Straße + PLZ Ort.
- dann auf den "eigenen" Speicherbutton klicken, der dich in einer Inputbox nach dem Dateinamen fragt
- ist eine Datei mit dem Namen schon vorhanden, wirst du gefragt, ob du überschreiben willst
- nun wird im Hintergrund eine neue, leere Excel-Datei erstellt, in die all die Tabellenblätter aus der Vorlage hineinkopiert werden, in die auch was eingetragen wurde.
Das bedeutet, wenn du wirklich alle 3 Tabellenblätter der Vorlage nutzen musst, weil so viele Positiionen vorhanden, dann werden auch alle 3 Tabellenblätter in die neue Datei kopiert.
Wenn du aber nur wenige Positionen hast, die auf Seite 1 Platz finden, dann wird auch nur das erste Tabellenblatt in die neue Datei kopiert, in der dann auch nur EIN Tabellenblatt existiert - gleiches gilt bei nur 2 benutzen Tabellenblättern.
- nach erfolgreicher Datenübertragung in die neue Datei wird selbige automatisch in deinem angegebenen Verzeichnis gespeichert.
Ich habe aber im Code
"C:\Dokumente und Einstellungen\fkisbiro\Eigene Dateien\Rechnungen\"
gegen
"C:\Dokumente und Einstellungen\" + Userverzeichnis + "\Eigene Dateien\Rechnungen\"
ausgetauscht.
Das hat den Vorteil, dass du die Datei nun wirklich auf jedem Win XP-PC speichern kannst, auf dem im Verzeichnis "Eigene Dateien" die Verzeichnisse
...\Rechnungen\
........................\Offen
........................\Mahnung
........................\Bezahlt
existieren.
So, wenn nun auch die Datei erfolgreich gespeichert wurde, erhälst du eine entsprechende Meldung.
Im Anschluss daran wirst du gefragt, ob die Daten in der Vorlage gelöscht werden sollen.
- der 2. Button in der Symbolleiste dient zur Datei-Navigation innerhalb der oben genannten Verzeichnisse - und die Funktionsweise des Buttons kennst du ja schon
Und nun zu dem schon oben erwähnten Dateiformat XLT:
Da du ja Excel am liebsten direkt mit deiner Vorlage öffnen willst, muss deine Datei auch im Vorlagenformat (XLT) vorliegen.
Was du nun noch tun musst, damit Excel auch mit dieser Datei als Standard geöffnet wird, ist...
- speicher die Datei im Verzeichnis
"C:\Dokumente und Einstellungen\ USERNAME \Anwendungsdaten\Microsoft\Excel\XLStart"
unter dem Namen
Mappe.xlt
Für USERNAME musst du natürlich das Verzeichnis DES Users wählen, der mit der Datei arbeiten soll.
Nimmst du ein anderes Verzeichnis oder speicherst du die Datei unter einem anderen Namen, wird sich Excel weiterhin mit einer leeren Excel-Datei öffnen.
So, hab ich was vergessen?
Natürlich muss auf jedem XP-PC die Makrosicherheit in Excel mindestens auf Mittel stehen - HOCH = Makros werden automatisch NICHT aktiviert und die Datei funktioniert nicht.
Wenn Makrosicherheit = Mittel wirst du bei jeden Datei gefragt, ob die Makros aktiviert werden sollen.
Willst du diese Frage dauerhaft umgehen, kannst du dich mit der Datei selfcert.exe befassen, zu deren richtigen Anwendung es viele Anleitungen im Internet gibt.
So, wenn ich nun noch immer was vergessen habe oder wenn du Fragen hast und natürlich auch, wenn die Datei auf deinem PC nicht funzt :-), kannst du ja hier gerne deine Fragen posten.
Wenns läuft, würd ich das aber gerne auch wissen wollen.
Ciao
Thorsten