Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
616to620
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro bei jedem Start von Excel

Makro bei jedem Start von Excel
31.05.2005 12:23:15
Excel
Hallo Excel-Freunde,
Ich habe ein Makro das immer starten soll wenn Excel startet - unabhängig von der Datei. Ich habe schon gesucht, aber leider nur eine Flut von Workbook.Open
Problemen gefunden. Ich denke mein Problem läßt sich vielleicht durch ein AddIn lösen?
Also, ich möchte prüfen, was für eine Datei geöffnet wird, wenn Excel startet, z.B.:
wenn zu öffnende Datei-Typ = .csv dann mache Makro IstCSV
wenn zu öffnende Datei-Typ = .xls dann mache Makro IstXLS
sonst mache Makro IstEgal
zum Hintergrund:
ich habe aus dem Beispiel-Bereich von Hans eine Funktion die Probleme mit CSV-Dateien behebt, die soll nun aber immer starten, wenn Excel startet. Hier die Funktion: https://www.herber.de/mailing/205603h.htm ich habe nur ";" durch "," ersetzt.
kann mir einer sagen wie ich es hinkriege, dass Excel immer erst dieses Makro ausführt, falls es sich um eine .csv Datei handelt? Mein Ansatz wäre ein AddIn, das 'einfach' den Dateinamen der zu öffnenden Datei bzw. die Endung prüft, aber wie komm ich an den Namen?
Bin ich auf dem Holzweg? :)
Danke für die Hilfe,
Kristin

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro bei jedem Start von Excel
31.05.2005 12:41:58
Excel
Hallo Kristin,
das kannst du in einem Addin machen. Dazu benötigst du eine Klasse der Application. Schon mal mit Klassenmodulen gearbeitet?
Gruß
Nepumuk
AW: Makro bei jedem Start von Excel
31.05.2005 13:05:57
Excel
Hi Nepumuk,
nein, habe noch nicht mit Klassen-Modulen gearbeitet, allerdings habe ich schon Ehrfahrung mit Klassen in anderen Sprachen. Also wenn du vielleicht einen Versuch mit mir starten würdest :) vielleicht kann ich dir ja folgen. Ich würde mich freuen.
Liebe Grüße,
Kristin
PS: kennst du vielleicht das Problem mit cvs-Dateien nach dem Umstieg von 2000 auf xp? vielleicht gibt es ja noch eine andere Möglichkeit zum umgang mit csv dateien.
Anzeige
AW: Makro bei jedem Start von Excel
31.05.2005 15:21:10
Excel
Hallo Nepumuk,
juhuu das ist es ja...ganz einfach :) wenn man weiß wie. Warum das jetzt allerdings ein Klassen-Modul ist ... mmh hab ich nicht verstanden. Ist doch ein Standard-Modul, oder heißen die Events so? Sorry, ich kenn mich mit den Begrifflichkeiten nicht so aus...es klappt supi - danke für deine hilfe.
liebe Grüße,
kristin
AW: Makro bei jedem Start von Excel
31.05.2005 15:26:49
Excel
Hallo Kristin,
eine Klasse ist ein Objekt. Die Mappe ist ein Objekt. Darum ist das Modul der Mappe ein Klassenmodul. So wie Tabellen und Diagrammblätter sowie Userforms ein eigenes Klassenmodul mitbringen. Ich hätte das natürlich auch in eine externe Klassen auslagern können. Aber so ist es etwas kompakter. Mehr zu Klassen, findest du hier:
http://www.online-excel.de/excel/grusel_vba.php?f=7
Gruß
Nepumuk
Anzeige
AW: Makro bei jedem Start von Excel
31.05.2005 16:08:43
Excel
Ach Mensch Nepumuk, jetzt weiß ich wie du das meinst...
Ich hatte erwartet ein Klassen-Modul einfügen zu müssen, aber das muss man gar nicht.
Ich hätte noch eine Frage, bitte sag aber ehrlich wenn ich die Frage lieber im Forum neu stellen soll, denn es geht nur indirekt um das ursprüngliche Problem.
Ich habe ja vor deiner Lösung die Datei mit

Open sFile For Input Access Read Lock Write As #1
Do Until EOF(1)
Line Input #1, sTxt
eingelesen, aber jetzt ist sie mit doppel-Klick geöffnet. Wie kann ich Sie trotzdem als Stream lesen, so das die Datei nicht -wie jetzt- Schreibgeschützt geöffnet wird, weil ich das doppeltgemoppelt hab?
Ich würde die Datei kopieren und wie gehabt auslesen, aber das erscheit mir ein wenig kompliziert, da sie doch eh geöffnet ist. Hast du eine Idee?
Falls ich dich strapaziere bitte ehrlich sagen :D
Auf jeden Fall großes Dankeschön für deine Hilfe mit dem KlassenModul
kristin
Anzeige
AW: Makro bei jedem Start von Excel
31.05.2005 17:07:45
Excel
Hallo Kristin,
wenn du in der Datei nur lesen willst, warum öffnest du sie dann überhaupt mit Schreibschutz (Lock Write)?
Gruß
Nepumuk
AW: Makro bei jedem Start von Excel
31.05.2005 17:44:50
Excel
hallo Nepumuk,
du hast recht, das ist mir so beim Testen drunter gerutscht die Zeile sollte eigentlich so heißen:
Open sFile For Input As #1
Ich formuliere mal meine Frage um - es war etwas wirr formuliert:
Wenn ich eine csv-Datei per Doppelklick öffne kann ich dann ähnlich wie bei:
Open sFile For Input As #1
Do Until EOF(1)
Line Input #1, sTxt
vorgehen? Sprich kann ich jede Zeile abarbeiten bis EOF? Sowas wie ein Array oder 'foreach Zeile'? Wahrscheinlich muss ich dann eine Schleife bauen die in Spalte A alle Zeilen durchgeht. Ich teste mal.
Wenn es nicht geht mach dir keinen Streß ich lös es dann irgendwie anders. Hast mir ja schon doll geholfen.
Liebe Grüße & Danke,
Kristin
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige