User Tools

Site Tools


vba:access:classes:xlsxeporter

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vba:access:classes:xlsxeporter [09.02.2015 09:10:03]
yaslaw
vba:access:classes:xlsxeporter [07.03.2019 16:12:20] (current)
yaslaw
Line 4: Line 4:
     fname=xlsxexporter.cls     fname=xlsxexporter.cls
     ns=%NAMESPACE%     ns=%NAMESPACE%
-    fpath=/​vba/​access+    fpath=/​vba/​access/
 </​const>​ </​const>​
 ====== [VBA][Access] XlsxExporter 2.x ====== ====== [VBA][Access] XlsxExporter 2.x ======
 +//Exporter MS Access nach Excel. Die komplexe Version.//
 +
 ==Version %%version%% %%vdate%%== ==Version %%version%% %%vdate%%==
-<​WRAP ​right round download 50%>+<WRAP round download 50%>
 ><fc #​808080>//​Die Klasse hat versteckte Attribute. Damit diese aktiv übernommen werden reicht es nicht aus, den Code in ein neues Modul zu kopieren. Man muss das Modul aus der Datei nach VBA importieren.//</​fc>​ ><fc #​808080>//​Die Klasse hat versteckte Attribute. Damit diese aktiv übernommen werden reicht es nicht aus, den Code in ein neues Modul zu kopieren. Man muss das Modul aus der Datei nach VBA importieren.//</​fc>​
 >​{{popup>:​vba:​vba_importfile.png|Bild zum Import}} >​{{popup>:​vba:​vba_importfile.png|Bild zum Import}}
- +{{:​vba:​access:​xlsxexporter.cls|Download %%fname%% (V-%%version%%)}}
-{{%%fname%%|Download %%fname%% (V-%%version%%)}}+
 </​WRAP>​ </​WRAP>​
  
 Eine <​del>​kleine</​del>​ Klasse um schnell Daten aus Access nach Excel zu exportieren. Sie bietet die Möglichkeit,​ dann gleich noch einige Excel-Formatierungen durchzuführen Eine <​del>​kleine</​del>​ Klasse um schnell Daten aus Access nach Excel zu exportieren. Sie bietet die Möglichkeit,​ dann gleich noch einige Excel-Formatierungen durchzuführen
  
-Meine erste Version [[vba:​access:​xlsxeporter_101]] ist zwar nicht schlecht, bietet mir aber zu wenig.+Meine erste Version [[vba:​access:classes:​xlsxeporter_101]] ist zwar nicht schlecht, bietet mir aber zu wenig.
  
 Darum hier die neue, bessere & komplexere Version 2.x Darum hier die neue, bessere & komplexere Version 2.x
Line 25: Line 26:
 ===== Referenzen ===== ===== Referenzen =====
 **<fc #​ff0000>​Im VBA musss eine Referenz auf '​%%MicrosoftExcel XY ObjectLibrary%%'​ gesetzt sein</​fc>​** **<fc #​ff0000>​Im VBA musss eine Referenz auf '​%%MicrosoftExcel XY ObjectLibrary%%'​ gesetzt sein</​fc>​**
 +
 +===== Grober ablauf =====
 +In der folgenden Reihenfolge sollten die versch. Schritte aufgerufen werden. //Kursiv// geschrieben Punkte sind optional.
 +> Bei einer anderen Reihenfolge kann es zu unerwarteten Resultaten führen.
 +
 +  - Objekt erstellen/​initialisieren
 +      - Instanzieren mit [[#​initialize]] oder [[#​instance]]
 +      - //Paramters setzen, falls man das nicht bereits beim Instanzieren gemacht hat [[#​Enumerator xeParams]]//​
 +  - //Formate definieren://​
 +      - //​Standardformat anpassen [[#​defaultFormat]]// ​
 +      - //​Standardformat auf alle vorfinierten Formate anpassen [[#​requeryDefaultFormats]]//​
 +      - //​Dateitypenformate anpassen [[#​format]]//​
 +      - //Weitere Formate definieren [[#​format]]//​
 +  - Exportiere die Daten [[#export]]
 +  - //​Formatierungen anwenden;//
 +      - //​Standartformat über das ganze Sheet [[#​doFormatDefault]]//​
 +      - //Spalten nach Datentyp [[#​doFormatColumnsByType]]//​
 +      - //Speziele andere Formate [[#​doFormat]]//​
 +  - //Spezielle Anpassungen an Ranges [[#​range]]//​
 +  - Objekt abbauen ([[#quit]] oder zerstören des Objektes)
  
 ===== Definitionen ===== ===== Definitionen =====
Line 41: Line 62:
 == Datei-Handler == == Datei-Handler ==
   ***xeReplaceExistFile** Falls die Exportdatei bereits exisitert, kann diese ersetzt werden   ***xeReplaceExistFile** Falls die Exportdatei bereits exisitert, kann diese ersetzt werden
-== Heder-Settings ==+== Header-Settings ==
   ***xeCaptionAsHeader** Es wird versucht die Titel-Eigenschaft des Tabellenfeldes auszulesen   ***xeCaptionAsHeader** Es wird versucht die Titel-Eigenschaft des Tabellenfeldes auszulesen
   ***xeReadableHeader** Der Technische Name wird möglichst in ein lesbaeren Namen Konvertiert   ***xeReadableHeader** Der Technische Name wird möglichst in ein lesbaeren Namen Konvertiert
Line 124: Line 145:
  
 === quit() === === quit() ===
-Wendet bei aktivem paramRunDefaultFormating und vorhandenem Header die HeaderformatierunganSpeichert ​und schliesst die Datei.+Wendet bei aktivem ​''​paramRunDefaultFormating'' ​und vorhandenem Header die Headerformatierung anspeichert ​und schliesst die Datei.
 >Diese Funktion wird bei ''​Class_Terminate()''​ automatisch aufgerufen. >Diese Funktion wird bei ''​Class_Terminate()''​ automatisch aufgerufen.
 <code vb>'/​** <code vb>'/​**
Line 187: Line 208:
  
 === requeryDefaultFormats() === === requeryDefaultFormats() ===
-Wenn man Anpassungen an dem ''​defaultFormat''​ vornimmt, kann man mit dieser Methode das neue StandardFormat ​auf die restlichen Typenformate anwenden.+Wenn man Anpassungen an dem ''​defaultFormat''​ vornimmt, kann man mit dieser Methode das neue Standardformat ​auf die restlichen Typenformate anwenden.
 <code vb>'/​** <code vb>'/​**
 ' * Berechnet die Standardformate neu, basierend auf dem defaultFormat ' * Berechnet die Standardformate neu, basierend auf dem defaultFormat
Line 197: Line 218:
 === format === === format ===
 Das Format-Property gibt ein Excel.Range zurück. Diesen kann man dann nach belieben Formatieren und dient für die Methode ''​doFormat()''​ als Vorlage. Das Format-Property gibt ein Excel.Range zurück. Diesen kann man dann nach belieben Formatieren und dient für die Methode ''​doFormat()''​ als Vorlage.
-\\ Formate können über einen Namen oder einen DAO.DataTypeEnum definiert werden. ​+\\ Formate können über einen Namen oder einen %%DAO.DataTypeEnum%% definiert werden. ​
   * Die Typenformate werden in der Methode ''​doFormatColumnsByType()''​ anhand des Feldtypes der Datenbank auf die Spalten angewendet.   * Die Typenformate werden in der Methode ''​doFormatColumnsByType()''​ anhand des Feldtypes der Datenbank auf die Spalten angewendet.
   * Es können auch freie Formate mit eigenen Namen verwaltet werden   * Es können auch freie Formate mit eigenen Namen verwaltet werden
Line 268: Line 289:
 Set rng = exp.range("​A3",​ "​B4"​) '​Zellen A3 bis B4 Set rng = exp.range("​A3",​ "​B4"​) '​Zellen A3 bis B4
 Set rng = exp.Range(myRange,​ "​Z:​Z"​) '​Alles von myRange bis zur SpalteZ</​code>​ Set rng = exp.Range(myRange,​ "​Z:​Z"​) '​Alles von myRange bis zur SpalteZ</​code>​
- 
-===== Grober ablauf ===== 
-In der folgenden Reihenfolge sollten die versch. Schritte aufgerufen werden. //Kursiv// geschrieben Punkte sind optional. 
-> Bei einer anderen Reihenfolge kann es zu unerwarteten Resultaten führen. 
- 
-  - Objekt erstellen 
-  - //Paramters setzen, falls man das nicht bereits in 1) gemacht hat// 
-  - //​Standardformat anpassen// 
-  - //​Standardformat auf alle vorfinierten Formate anpassen// 
-  - //​Dateitypenformate anpassen// 
-  - //Weitere Formate definieren//​ 
-  - Exportiere die Daten 
-  - //​Formatierungen anwenden// 
-  - Objekt abbauen 
  
 ---- ----
Line 385: Line 392:
 >​{{popup>:​vba:​vba_importfile.png|Bild zum Import}} >​{{popup>:​vba:​vba_importfile.png|Bild zum Import}}
  
-{{%%fname%%|Download %%fname%% (V-%%version%%)}}+{{:​vba:​access:​xlsxexporter.cls|Download %%fname%% (V-%%version%%)}}
 </​WRAP>​ </​WRAP>​
 <source '​%%fpath%%/​%%fname%%'​ vb> <source '​%%fpath%%/​%%fname%%'​ vb>
  
  
vba/access/classes/xlsxeporter.1423469403.txt.gz · Last modified: 09.02.2015 09:10:03 by yaslaw