User Tools

Site Tools


vba:access:classes:xlsxeporter_101

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_101 [05.02.2015 15:00:05]
yaslaw
vba:access:classes:xlsxeporter_101 [29.04.2015 12:46:40] (current)
yaslaw vba:access:xlsxeporter_101 renamed to vba:access:classes:xlsxeporter_101
Line 1: Line 1:
 <​const>​ <​const>​
     version=1.0.1     version=1.0.1
-    vdate=28.01.2015+    vdate=18.01.2015
     fname=xlsxexporter_101.cls     fname=xlsxexporter_101.cls
     ns=%NAMESPACE%     ns=%NAMESPACE%
Line 7: Line 7:
 </​const>​ </​const>​
 ====== [VBA][Access] XlsxExporter 1.0.1 ====== ====== [VBA][Access] XlsxExporter 1.0.1 ======
 +//Exporter MS Access nach Excel. Die Einfache Version.//
 +
 ==Version %%version%% %%vdate%%== ==Version %%version%% %%vdate%%==
 <WRAP right round download 50%> <WRAP right round download 50%>
Line 15: Line 17:
 </​WRAP>​ </​WRAP>​
  
-Eine kleine Klasse um schnell Daten aus Access nach Excel zu exportieren. Sie bietet die Möglichkeit,​ dann gleich noch einige Excel-Formatierungen durchzuführen+Eine kleine Klasse um schnell Daten aus Access nach Excel zu exportieren. Sie bietet die Möglichkeit,​ dann gleich noch einige Excel-Formatierungen durchzuführen
 + 
 +Die neue, ausgebaute und komplexere Version findest du hier: [[vba:​access:​xlsxexporter]]
 <WRAP clear></​WRAP>​ <WRAP clear></​WRAP>​
  
Line 22: Line 26:
  
 ===== Definitionen ===== ===== Definitionen =====
 +>​Genauere Doumentaion folgt
 Wird das Objekt terminiert, wird automatisch die Methode quit() ausgeführt. Die Änderungen werden dabei gespeichert und die internen Objekte (Excel-Instance,​Workbook etc.) geschlossen und abgebaut. Wird das Objekt terminiert, wird automatisch die Methode quit() ausgeführt. Die Änderungen werden dabei gespeichert und die internen Objekte (Excel-Instance,​Workbook etc.) geschlossen und abgebaut.
-Die meisten Methoden und Properties sind im Code sauber beschriebenWie man sie anwendet sieht man in den Beispielen.+==== Enumerator ==== 
 +=== xeParams === 
 +Diekombinierbaren Parameter für den Export 
 +Die Parameter können kompiniert werdenzBxeReplaceExistFile+xeHasFieldNames 
 +<code vb>​Public Enum xeParams 
 +    xeNone = 0                  'Kein Parameter 
 +    xeReplaceExistFile = 2 ^ 0  'Falls die Exportdatei bereits exisitert, kann diese ersetzt werden 
 +    xeHasFieldNames = 2 ^ 1     '​Feldnamen werden in die erste Zeile geschrieben 
 +End Enum</​code>​ 
 +==== Methoden ====
  
-Die Formate sind einfache ​Excel-RangesAlle Formateigenschaften die ein Range haben kann, kann zugeordnet werden.+=== export() === 
 +<​code>​object.export(source,​ filepath [,​spreadsheettype [,​params]])</​code>​ 
 +<code vb>​Public Sub export( _ 
 +        ByRef iSource As Variant, _ 
 +        ByVal iFilePath As String, _ 
 +        Optional ByVal iSpreadSheetType As AcSpreadSheetType = acSpreadsheetTypeExcel12Xml,​ _ 
 +        Optional ByVal iParams As xeParams = xeReplaceExistFile + xeHasFieldNames _ 
 +)</​code>​ 
 +  * **iSource** Quelle. Tabellenname oder View-Name oder SQL-String 
 +  * **iFilePath** Export-Pfad. Pfad zur Datei dieerstellt werdn soll. 
 +  * **iSpreadSheetType** ​Excel-FormatTyp des Spreadsheets. Standart: Excel-12 XML 
 +  * **iParams** Parameters. verscheidene ParameterSiehe [[#​xeparams|Enumerator xeParams]]
  
-Beim terminate() der Klasse wird das Excelsheet gespeichert und die Excelinstanz geschlossen. Darum kann man das ganze in einem With-Plock handeln+Mit export()exportiert ​man eine Quelle ​in ein Excel-Sheet
  
-===== Grober ablauf ​===== +=== instance() ​=== 
-In der folgenden Reihenfolge sollten die verschSchritte aufgerufen werden. //Kursiv// geschrieben Punkte sind optional+<​code>​Set object ​XlsExporter.instance(source,​ filepath [,​spreadsheettype [,​params]])</​code>​ 
 +<​code>​Set object ​XlsExporter(source,​ filepath [,​spreadsheettype [,​params]])</​code>​ 
 +Eine neue Instanz ​der Klasse wird angelegt und der Export wird durchgeführt.
  
-1Objekt erstellen +Die Parameter entsprechen denen der [[#​export|Methode export()]] 
-  Set xExp = XlsxExporter("​my_table",​ "​c:​\my_path\my_file.xlsx"​) + 
-//2) Paramters setzen, falls man das nicht bereits in 1) gemacht hat// +Die Methode instance() hat das versteckte Attribut ''​Attribute instance.VB_UserMemId ​0''​Dadurch lässt sie sich direkt aus der Klasse ausführen
-  xExp.paramReadableHeader ​true + 
-//3) Standardformat anpassen//​ +=== quit(=== 
-  xexp.defaultFormat.Font.Size = 10 +<​code>​object.quit [save Yes/No]</code> 
-//4Standardformat auf alle vdefinierten Formate anpassen// +Speicher das offene Workbook und schliesst die Datei und die Excelinstanz 
-  xExp.requeryDefaultFormats + 
-//5) Dateitypenformate anpassen// +==== Properties ==== 
-  ​xExp.format(dbLong).Font.Italic ​true + 
-//6) Weitere Formate definieren//​ +=== range === 
-  xExp.format("​MEIN_FORMAT_1"​).foont.bold = true +<​code>​range = object.range([Cell1 [,Cell2]])</​code>​ 
-7Exportieredie Daten +<​code>​range = object.sheet.range([Cell1 [,Cell2]])</​code>​ 
-  xExp.export +Mit dem range-Property greifft man direkt auf das Worksheet mit den exporetierten Daten zuDer Aufruf ist analog zu Excel. Mit dem Range kann man direkt ​Formatierungen ​etcanalog zu Excel-VBA im Excelsheet durchführenEs ist identisch wie das .sheet.range. Aber da man den Range am meisten brauchthabe ich ihn extra hinzugefügt 
-//8) Formatierungen ​anweden// + 
-  xExp.doFormatColumnsByType +=== sheet === 
-  xExp.doFormat "​MEIN_FORMAT_1"​"​C:​C"​ +<​code>​sheet = object.sheet</​code>​ 
-9) Objekt abbauen +Das sheet-Property gibt eine Referenz auf das Worksheet. Damit lassen sich ganz normale Worksheetbefehle absetzen
-           Set xExp Nothing+
  
 ---- ----
 ===== Beispiele ===== ===== Beispiele =====
-==== Einfacher Export ohne weitere FOrmatierungen ====+Erste Zeile und erste Spalte Fett setzen.
 <code vb> <code vb>
 +Dim exp As new XlsxExporter
 +exp.export "​my_table",​ "​c:​\temp\__tt.xlsx"​
 +exp.range("​1:​1"​).Font.Bold = True
 +exp.range("​A:​A"​).Font.Bold = True
 +exp.quit
 +Set exp=Nothing</​code>​
  
 +Analog aber ohne feste Variablenzuordnung
 +Da das Objekt nur temporär geöffnet ist (ist keiner Variable zugewiesen),​ wird am Ende des With das Objekt zerstört und somit quit() ausgeführt. Das muss also nicht expliziet gemacht werden
 +<code vb>
 +With XlsxExporter("​my_table",​ "​c:​\temp\__tt.xlsx"​)
 +    .range("​1:​1"​).Font.Bold = True
 +    .range("​A:​A"​).Font.Bold = True
 +End With</​code>​
  
 +Wenn man nur die Titelzeile formatieren will, gehts natrülich noch kürzer
 +<code vb>
 +XlsxExporter("​my_table",​ "​c:​\temp\__tt.xlsx"​).range("​1:​1"​).Font.Bold = True
 +</​code>​
  
 ---- ----
vba/access/classes/xlsxeporter_101.1423144805.txt.gz · Last modified: 05.02.2015 15:00:05 by yaslaw