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
Last revision Both sides next revision
vba:access:classes:xlsxeporter_101 [05.02.2015 15:00:05]
yaslaw
vba:access:classes:xlsxeporter_101 [29.04.2015 11:26:14]
yaslaw
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.txt · Last modified: 29.04.2015 12:46:40 by yaslaw