Eksportuj zakres do CSV (rozdzielany plik tekstowy) - przykłady kodu VBA

Zapisz zakres do pliku CSV

Rozwiązanie nr 670 dotyczące eksportowania zakresu do rozdzielanego pliku tekstowego.

Jest to przydatna alternatywa dla domyślnego sposobu zapisywania arkusza kalkulacyjnego programu Excel jako pliku tekstowego lub pliku rozdzielanego CSV, wybierając „zapisz jako”, gdy:

1. Używasz szablonu i chcesz wyeksportować tylko dane z wyłączeniem nagłówków i innych drobiazgów

2. Podobnie możesz chcieć wyeksportować tylko część zbioru danych

3. Chcesz zapisać plik z niestandardowym ogranicznikiem, który może być unikalny dla Twojej aplikacji.

Jeśli potrzebujesz zrobić 1, 2 lub 3, może pomóc funkcja taka jak poniższa. Akceptuje zakres do wyeksportowania, lokalizację do zapisania pliku i ogranicznik, którym chcesz oddzielić dane, a następnie zapisuje dane zgodnie z opisem.

Oto jak wywołać funkcję Zakres eksportu:

1234567891011 Sub CallExport()'ExportRange(zakres,gdzie,ogranicznik)Wywołaj ExportRange(Arkusz1.Range("A1:C20"), _"C:znak.txt", ",")Napis końcowy

Najpierw mówisz funkcji zakres, który chcesz wyeksportować, a następnie gdzie go wyeksportować, a następnie ogranicznik, którego ma użyć. Będziesz także potrzebować funkcji Zakres eksportu, oto jest:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 Funkcja ExportRange (jaki zakres jako zakres, _Gdzie jako ciąg, separator jako ciąg) jako ciągDim HoldRow As Long 'testuj pod kątem nowej zmiennej wierszaHoldRow = JakiZasięg.RowDim c As Range 'pętla zmiennej zakresuDla każdego c w jakim zakresieJeśli HoldRow c.Row Wtedy'dodaj łamanie linii i usuń dodatkowy ogranicznikExportRange = Lewo(ExportRange, Len(ExportRange) - 1) _& vbCrLf & c.Tekst i ogranicznikHoldRow = c.RowW przeciwnym razieExportRange = ExportRange i c.Tekst i ogranicznikZakończ, jeśliNastępny c'Przytnij dodatkowy ogranicznikExportRange = Lewo(ExportRange, Len(ExportRange) - 1)'Zabij plik, jeśli już istniejeJeśli Len(Katalog(Gdzie)) > 0 WtedyZabij gdzieZakończ, jeśliOtwórz Where For Append As #1 'zapisz nowy plikDrukuj #1, ExportRangeZamknij #1Koniec funkcji
wave wave wave wave wave