Uložit rozsah do souboru CSV
Řešení č. 670 o exportu rozsahu do textového souboru s oddělovači.
Toto je užitečná alternativa k použití výchozího způsobu aplikace Excel k uložení listu jako textového souboru nebo souboru odděleného CSV výběrem „uložit jako“, když:
1. Používáte šablonu a chcete exportovat pouze data bez záhlaví a jiného obsahu
2. Podobně můžete chtít exportovat pouze část datové sady
3. Chcete soubor uložit pomocí vlastního oddělovače, který může být pro vaši aplikaci jedinečný.
Pokud potřebujete provést 1,2 nebo 3, může vám pomoci funkce jako následující. Přijímá rozsah pro export, umístění pro uložení souboru a oddělovač, pomocí kterého chcete data oddělit, a poté uloží data podle zadání.
Zde je návod, jak tuto funkci volat ExportRange:
1234567891011 | Sub CallExport ()'ExportRange (rozsah, kde, oddělovač)Volejte ExportRange (Sheet1.Range ("A1: C20"), _"C: mark.txt", ",")End Sub |
Nejprve funkci sdělíte rozsah, který chcete exportovat, pak kam ji exportovat, než delimeter, který se má použít. Budete také potřebovat funkci ExportRange, tady to je:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | Funkce ExportRange (WhatRange As Range, _Kde jako řetězec, oddělovač jako řetězec) jako řetězecDim HoldRow As Long 'test pro novou proměnnou řádkuHoldRow = WhatRange.RowDim c As Range 'loop through range variableZa každé c v WhatRangePokud HoldRow c. Řádek Pak'přidat linebreak a odstranit extra delimeterExportRange = Vlevo (ExportRange, Len (ExportRange) - 1) _& vbCrLf & c. Text a oddělovačHoldRow = c. ŘádekJinýExportRange = ExportRange & c. Text a oddělovačKonec IfDalší c"Ořízněte oddělovač navíc."ExportRange = Left (ExportRange, Len (ExportRange) - 1)„Zabijte soubor, pokud již existujePokud Len (Dir (Where))> 0 ThenZabít kdeKonec IfOtevřete Where For Append As #1 'a napište nový souborTisk č. 1, ExportRangeZavřít #1Koncová funkce |