Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
972to976
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
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sheets in neue Datei importieren, wie?

Sheets in neue Datei importieren, wie?
Werner
Hallo!
Habe kürzlich Makros aus einem Verzeichnis, in das ich sie vorher exportiert hatte, in eine neue Datei importiert. Dabei stellte sich die Frage, ob man auf diese Weise auch Ereignisprozeduren, die in verschiedenen Sheets der alten Datei stehen, dadurch importieren kann,
dass man sie von dort zuerst in solch ein Verzeichnis exportiert und dann aus dem Verzeichnis in die neue Datei importiert. Ist das gängig und üblich? Werner

AW: Sheets in neue Datei importieren, wie?
07.05.2008 08:04:00
Luschi
Hallo Werner,
einzelne Ereignisprozeduren kann man nicht Exportieren, sondern immer nur das ganze Klassenmodul (KM)eines Sheets. Importieren kann man aber diese KM's so einfach leider nicht.
Da Excel daraus ein normales KM macht und dabei auch noch eine Umbenennung vornimmt. Weil es ja ein KM 'Tabelle1' schon existiert und dieses auch nicht gelöscht werden kann, wird daraus 'Tabelle11'. Hier ist viel Handarbeit angesagt.
Schon beim Exportieren muß man die Dateien der Sheets-KM's kennzeichnen, damit man beim Wiedereinlesen diese unterscheiden kann von den eventuell vorhandenen normalen Klassenmodulen. Bei mir bekommen die Sheets-KM den Dateityp .clss.
Diese Dateien werden mit Hilfe des 'AddFromFile'-Befehls eingelesen, während die Formulare, Module und normale KM per 'Import'-Befehl eingelesen werden.
Gruß von Luschi
aus klein-Paris

Anzeige
Klassenmodul, woher?
Walter
Hallo Luschi,
Dank für den Hinweis! Aber ich habe doch gar kein Klassenmodul erstellt. Wo kommt den plötzlich das Klassenmodul her?
Wahrscheinlich muss ich die Ereignisprozeduren in jeder neuen Datei immer wieder neu erstellen, selbst wenn ich dort in .xla-addin einbinde? Werner

AW: Klassenmodul, woher?
07.05.2008 08:28:10
Luschi
Hallo Werner,
die KM's der Sheets bekommen beim Exportieren den Standard-Dateityp 'cls'. Importiert man diese Dateien, so werden sie nich in die KM's der Tabellen zurückgeschrieben, sondern es wird ein neuer Container 'Klasssenmodule' erzeugt (falls nicht vorhanden), und hier landen dann diese Dateien.
Das macht auch Excel 2007 so. Deshalb muß mit Vba-Code das Ganze gesteuert werden.
Gruß von Luschi
aus klein-Paris
Es gibt soviel zu tun, doch M$ ergötzt sich an Oberflächenkosmetik und Ribbons.

Anzeige
Sheets als Klassenmodule
Werner
Hallo Luschi,
da bin ich mit Dir völlig einer Meinung! Sobald man in solcher Software tiefer bohrt, kommen die Unstimmigkeiten zum Vorschein.
Dank für Deine Erklärungen zu dem Export als Klassenmodule. Ich habe die Erklärungen in eine separate Datei kopiert, wo ich auch später noch nachschlagen kann.
Hier erscheinen die Klassenmodule in völlig neuem Licht (nicht unbedingt so günstigem).
Werde mich daher vorerst auf den Ex- und Import normaler Module und Userforms beschränken.
Grüße Werner

Code woher und wohin...
07.05.2008 09:17:52
Renee
Hi Werner & Luschi,
Im VBE gibt's einen einfachen Trick um extern gespeicherte Dateien genau dort einzufügen, wo man sie will. D.h. Das automatische Umbennen zu verhindern:
Anstelle von Datei - Importieren
Verwendet im (leeren) Codefenster des Objekts (z.B.) Blatt Einfügen - Datei
GreetZ Renée

Anzeige
versuche Code und Daten zu trennen
Werner
Hallo Renee, hallo Luschi,
Dank! Ich stand und stehe nämlich vor dem Problem, Daten und Makros voneinander zu trennen, d.h. die Makros aus der Hauptdatei, die bisher sowohl Daten als auch Makros enthält, in eine .xla-Datei auszulagern (wie kürzlich in einem anderen von mir initiierten Thread diskutiert). Da ist jeder Hinweis hilfreich. Werner

Ereignisse in .xla auslagerbar?
Werner
Hallo Renee, hallo Luschi,
Man kann die Ereignisse in den Sheets also nicht in eine .xla-Datei auslagern, um die gleichen Ereignisse
in verschiedenen Dateien zur Verfügung zu haben, oder doch? Werner

AW: Ereignisse in .xla auslagerbar?
08.05.2008 17:56:00
Heinz
Hi,
dazu ist ein Klassenmodul nötig, daran stehen die Ereignisse applicationsweit
zur Verfügung.
mfg Heinz

Anzeige
Wie kommt Sheet in Klassenmodul?
Werner
Hallo Heinz,
also in der Ausgangsdatei ein Ereignis in einem Klassenmodul erstellen und dann das ganze Klassenmodul nach .xla exportieren?
Wie kommt den das Ereignis in das Klassenmodul hinein? Ich denke, es ist schon in dem Sheet, dem es zugehört, hinterlegt? Werner

AW: Wie kommt Sheet in Klassenmodul?
09.05.2008 15:51:11
Heinz
Hi,
schau dir mal die möglichen Ereignisse in "DieseArbeitsmappe" an, dort findest du auch die
Ereignisse in Blättern. Ähnlich ist es mit einem Klassenmodul, nur, dass die Ereignisse dort
nicht auf eine Mappe beschränkt sind, sondern applikationsweit verfügbar sind. Aber wenn du
schon so fragst, steht wohl fest, dass du von Klassen keinen Schimmer hast.
Bei http://www.online-excel.de gibt es eine klasse Einführung in die Thematik von Nepumuk.
mfg Heinz

Anzeige
Begreife allmählich
Werner
Hallo Heinz,
Klassenmodule sind mir schon ein Begriff, nur in Bezug auf Ereignisse habe ich hier das erste Mal davon
gehört. Dank f. Hinweis auf Website! Werner

Ereignisklassen, Instanzierung nötig?
Werner
Hallo Heinz,
noch eine Ergänzung: Klassen von Ereignissen sind sicherlich irgendwie analog zu Klassen von normalen Prozeduren, Funktionen usw., doch scheinen sie nicht instanziert werden zu brauchen.
Auf der von dir genannten Website erklärt Haserodt Klassen sehr schön, aber er gibt kein Beispiel für Klassen speziell von Ereignissen. Ereignisklassen sind ja zumindest eine besondere Art von Klassen, von denen offenbar, anders als bei anderen Klassen, keine Instanzen auf dem Wege einer Deklarierung geschaffen zu werden brauchen, oder doch?
Insofern gebe ich zwar zu, nichts von den sogenannten "Ereignisklassen" zu verstehen, von den normalen Klassen habe ich dagegen schön öfters gehört und vor einigen Tagen in diesem Forum auch eine Frage dazu gestellt.
Werner

Anzeige
AW: Ereignisklassen, Instanzierung nötig?
13.05.2008 15:39:21
Heinz
Hi,
nix da Ereignisklassen, das sind Klassen, in denen neue, benutzerdefinierte Ereignisse
erzeugt werden.
Wir reden hier von den Ereignissen, die in Excel existieren, z.B.:
Im Blatt:
Private Sub Worksheet_Activate()
DieseArbeitsmappe:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Klassenmodul:
Private Sub App_SheetActivate(ByVal Sh As Object)
mfg Heinz

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige