Bestandsformaten
- 22/12/2013
Inleiding
Excel kan veel verschillende bestandsformaten aan. Doorheen de jaren zijn er dan ook al heel wat bestandsformaten in gebruik geweest. Denk maar aan .xls, .xlsx, .xlsb, allerhande tekstformaten, … Het gebruikelijke .xls formaat uit Excel versies vóór Excel 2007 werd in Excel 2007 vervangen door twee ondertussen populaire bestandsformaten:
- .xlsx formaat voor Excel 2007/2010/2013 bestanden zonder macro’s
- .xlsm formaat voor Excel 2007/2010/2013 bestanden met macro’s
Een bestand dat je maakt in Excel, kan je in verschillende bestandsformaten opslaan. Hiertoe behoort ook PDF sinds versie 2007, en heb je dus geen andere software meer nodig. Hierna volgen meerdere overzichtstabellen als toelichting bij de keuzes die je hebt bij Bestand > Opslaan als….
Bestandsformaten
Excel formaat | Extensie | Beschrijving |
Excel Workbook | xlsx | Standaard bestandsformaat binnen Excel 2007/2010/2013, gebaseerd op XML. Geen macro’s! |
Excel Macro-Enabled Workbook | xlsm | Bestandsformaat binnen Excel 2007/2010/2013, gebaseerd op XML. Laat macro’s toe. |
Excel Binary Workbook | xlsb | Binaire bestandsformaat binnen Excel 2007/2010/2013. |
Excel Template | xltx | Standaard bestandsformaat binnen Excel 2007/2010/2013 voor een Template. Geen macro’s! |
Excel Macro-Enabled Template | xltm | Bestandsformaat binnen Excel 2007/2010/2013 voor een Template. Laat macro’s toe. |
Excel 97-2003 Workbook | xls | Excel 97-2003 binaire bestandsformaat |
Excel 97-2003 Template | xlt | Excel 97-2003 binaire bestandsformaat voor een Template |
Microsoft Excel 5.0/95 Workbook | xls | Excel 5.0/95 binaire bestandsformaat |
Excel Add-In | xlam | Standaard bestandsformaat binnen Excel 2007/2010/2013, gebaseerd op XML, voor Invoegtoepassingen. |
Excel 97-2003 Add-In | xla | Excel 97-2003 binaire bestandsformaat voor een Invoegtoepassing |
Tekstformaat | Extensie | Beschrijving |
Formatted Text (Space delimited) | prn | Slaat op in een spatie-gescheiden bestandsformaat |
Text (Tab delimited) | txt | Slaat op in een tab-gescheiden tekstbestand voor Windows (**) |
Text (Macintosh) | txt | Slaat op in een tab-gescheiden tekstbestand voor Macintosh (**) |
Text (MS-DOS) | txt | Slaat op in een tab-gescheiden tekstbestand voor MS-DOS (**) |
Unicode Text | txt | Slaat op als Unicode tekst (*) |
CSV (Comma delimited) | csv | Slaat op in een comma-gescheiden tekstbestand voor Windows (**) |
CSV (Macintosh) | csv | Slaat op in een comma-gescheiden tekstbestand voor Macintosh (**) |
CSV (MS-DOS) | csv | Slaat op in een comma-gescheiden tekstbestand voor MS-DOS (**) |
DIF (Data Interchange Format) | dif | Slaat op in het Data Interchange bestandsformaat |
SYLK (Symbolic Link) | slk | Slaat op in het Symbolic Link bestandsformaat |
(**): Tabs, regelafbrekingen en andere karakters worden correct geïnterpreteerd.
Overige formaten | Extensie | Beschrijving |
PDF is een bestandsformaat met een vaste layout dat een bestand toelaat zijn bedoelde layout te behouden wanneer het bekeken of geprint wordt | ||
XPS Document | xps | XPS heeft dezelfde doelstelling als PDF, maar is een verschillend bestandsformaat |
OpenDocument Spreadsheet | ods | Het OpenDocument Spreadsheet bestandsformaat is een versie van het OpenDocument Format (ODF) v1.1 |
XML Spreadsheet 2003 | xml | Het XML Spreadsheet 2003 bestandsformaat |
XML Data | xml | Het XML Data bestandsformaat |
Single File Web Page | mht / mhtml | Slaat een (deel van een) bestand op als een Web pagina, samen met de ondersteunende bestanden en mappen |
Web Page | htm / html | Slaat een (deel van een) bestand op als een Web pagina, samen met de ondersteunende files ingebed in de Web pagina |
VBA-code
Je kan een bestand of tabblad opslaan onder bovenvermelde formaten. Hoe doe je dat? Manueel en via code.
Excel laat toe om het bestandsformaat van geopende betanden te herkennen. Zo kan je bijvoorbeeld uitvragen of een het actieve bestand een Excel 2007/2010/2013 bestandsformaat heeft zonder macro’s (.xlsx). Zet in het Directe Venster (Immediate Window) en druk Enter:
? ActiveWorkbook.FileFormat = xlOpenXMLWorkbook
Dit geeft dan True of False. Alternatief:
? ActiveWorkbook.FileFormat = 56
Elk bestandsformaat heeft een eigen naam en nummer, die je uitvraagt via de eigenschap FileFormat. In het voorbeeld hierboven kijken we of de waarde van de FileFormat eigenschap voor het actieve bestand overeenkomt met de Excel constante xlOpenXMLWorkbook, wat ook verkort kan gebruikt worden als getal 56. Hoe weet je nu de FileFormat constanten die horen bij de verschillende bestandsformaten uit de voorgaande tabellen? Hier zijn opnieuw twee tabellen. De eerste tabel toont de constanten waaronder je een bestand kan opslaan in Excel 2007/2010/2013.
Bestandsformaat | Extensie | File Format naam | File Format nummer |
Excel Workbook | xlsx | xlOpenXMLWorkbook / xlWorkbookDefault | 51 |
Excel Macro-Enabled Workbook | xlsm | xlOpenXMLWorkbookMacroEnabled | 52 |
Excel Binary Workbook | xlsb | xlExcel12 | 50 |
Excel Template | xltx | xlOpenXMLTemplate | 54 |
Excel Macro-Enabled Template | xltm | xlOpenXMLTemplateMacroEnabled | 53 |
Excel 97-2003 Workbook | xls | xlExcel8 | 56 |
Workbook normal | xls | xlNormal / xlWorkbookNormal | -4143 |
Excel 97-2003 Template | xlt | xlTemplate / xlTemplate8 | 17 |
Microsoft Excel 5.0/95 Workbook | xls | xlExcel5 | 39 |
Excel Add-In | xlam | xlOpenXMLAddIn | 55 |
Excel 97-2003 Add-In | xla | xlAddIn / xlAddIn8 | 18 |
Formatted Text (Space delimited) | prn | xlTextPrinter | 36 |
Text (Tab delimited) | txt | xlTextWindows | 20 |
Current Platform Text | txt | xlCurrentPlatformText | -4158 |
Text (Macintosh) | txt | xlTextMac | 19 |
Text (MS-DOS) | txt | xlTextMSDOS | 21 |
Unicode Text | txt | xlUnicodeText | 42 |
CSV (Comma delimited) | csv | xlCSV | 6 |
CSV (Macintosh) | csv | xlCSVMac | 22 |
CSV (Windows) | csv | xlCSVWindows | 23 |
CSV (MS-DOS) | csv | xlCSVMSDOS | 24 |
DIF (Data Interchange Format) | dif | xlDIF | 9 |
SYLK (Symbolic Link) | slk | xlSYLK | 2 / 10 |
xlTypePDF | (*) | ||
XPS Document | xps | xlTypeXPS | (**) |
OpenDocument Spreadsheet | ods | xlOpenDocumentSpreadsheet | 60 |
XML Spreadsheet 2003 | xml | xlXMLSpreadsheet | 46 |
XML Data | xml | xlXMLSpreadsheet | 46 |
Single File Web Page | mht / mhtml | xlWebArchive | 45 |
Web Page | htm / html | xlHtml | 44 |
(**) gebruik: ExportAsFixedFormat met Type = xlTypeXPS (constante 1)
Gebruik in een macro bijvoorbeeld:
ActiveWorkbook.SaveAs FileName:="C:\MijnBestand", FileFormat:=xlOpenXMLWorkbook
Excel slaat het actieve bestand dan op als MijnBestand.xlsx op de C-schijf. Je hoeft zelf .xlsx niet mee op te geven. Met het verkorte nummer 56:
ActiveWorkbook.SaveAs FileName:="C:\MijnBestand", FileFormat:=56
Het actieve bestand opslaan als PDF of XPS kan via:
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, FileName:="C:\MijnBestand" 'of ActiveWorkbook.ExportAsFixedFormat Type:=xlTypeXPS, FileName:="C:\MijnBestand"
Voor hen die lui van aard zijn:
ActiveWorkbook.ExportAsFixedFormat 0, "C:\MijnBestand" 'of ActiveWorkbook.ExportAsFixedFormat 1, "C:\MijnBestand"
In plaats van het actieve bestand is eender welke (geldige) referentie naar een bestand goed mogelijk. Naast bovenstaande File Format namen en nummers zijn er echter nog een hoop andere. Voorzover ik weet kan je in Excel 2007/2010/2013 een bestand niet opslaan onder deze bestandsformaten, maar je kan wel zulke bestandsformaten openen in Excel en vervolgens uitvragen wat het type is (cf. supra voor voorbeelden). De laatste tabel geeft deze formaten weer; vaak gaat het om oudere in onbruik geraakte bestandsformaten.
Bestandsformaat | Bestandsformaat naam | Bestandsformaat nummer |
DBF2 | xlDBF2 | 7 |
DBF3 | xlDBF3 | 8 |
DBF4 | xlDBF4 | 11 |
Excel2 | xlExcel2 | 16 |
Excel2 FarEast | xlExcel2FarEast | 27 |
Excel3 | xlExcel3 | 29 |
Excel4 | xlExcel4 | 33 |
Excel4 Workbook | xlExcel4Workbook | 35 |
Excel7 | xlExcel7 | 39 |
Excel9795 | xlExcel9795 | 43 |
International Add-In | xlIntlAddIn | 26 |
International Macro | xlIntlMacro | 25 |
WJ2WD1 | xlWJ2WD1 | 14 |
WJ3 | xlWJ3 | 40 |
WJ3FJ3 | xlWJ3FJ3 | 41 |
WK1 | xlWK1 | 5 |
WK1ALL | xlWK1ALL | 31 |
WK1FMT | xlWK1FMT | 30 |
WK3 | xlWK3 | 15 |
WK3FM3 | xlWK3FM3 | 32 |
WK4 | xlWK4 | 38 |
Worksheet | xlWKS | 4 |
Works2 FarEast | xlWorks2FarEast | 28 |
WQ1 | xlWQ1 | 34 |
Uitsmijter
Om af te ronden is hier nog een stukje code dat ik gebruikte om bestanden onder een bepaald bestandsformaat op te slaan. Zo kon ik kijken wat er in Excel 2007/2010/2013 werkt en wat niet.
Sub FileFormatOnderzoeken()' Wim Gielis ' https://www.wimgielis.com''''' ' Lus doorheen de verschillende Bestandsformaten ' 09/02/09 '''''On Error Resume Next Application.DisplayAlerts = False For i = 1 To 60 With Workbooks.Add .SaveAs Filename:="C:\" & Format(i, "00"), FileFormat:=i .Close End With Next Application.DisplayAlerts = TrueEnd Sub
Zo, dit artikel is verre van het meest amusante artikel op mijn site, maar wel een handig opzoekartikel. Ik kom hier zelf ook geregeld eens kijken.