Procedura eksportowania pliku tekstowego za pomocą ograniczników przecinków i cudzysłowów w programie Excel

Podsumowanie

Program Microsoft Excel nie ma polecenia menu umożliwiającego automatyczne eksportowanie danych do pliku tekstowego, dzięki czemu plik tekstowy jest eksportowany z cudzysłowami i przecinkami jako ogranicznikami. Na przykład nie ma polecenia automatycznego tworzenia pliku tekstowego zawierającego następujące dane:

"Text1",Text2","Text3"

Można jednak utworzyć tę funkcję w programie Excel przy użyciu procedury Visual Basic for Applications firmy Microsoft.

Więcej informacji

Firma Microsoft podaje przykłady programowania tylko dla celów ilustracyjnych, nie udzielając żadnej rękojmi, wyrażonej wprost ani dorozumianej, w tym także, ale nie tylko, dorozumianej rękojmi co do przydatności handlowej lub do określonych celów. W tym artykule zakłada się, że czytelnik zna demonstrowany język programowania oraz narzędzia używane do tworzenia i debugowania procedur. Wykwalifikowani pracownicy pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu, jak działa określona procedura, ale nie będą modyfikować tych przykładów ani dodawać żadnych funkcji i konstruować nowych procedur w celu dostosowania ich do określonych potrzeb użytkownika.

Instrukcję Print # można użyć w procedurze Języka Visual Basic podobnej do poniższej, aby wyeksportować plik tekstowy z cudzysłowami i przecinkami jako ogranicznikami. Aby procedura działała poprawnie, zaznacz komórki zawierające dane przed ich uruchomieniem.

Przed rozpoczęciem pracy z następującym przykładowym kodem wykonaj następujące kroki:

  1. Otwórz nowy skoroszyt.

  2. W programie Microsoft Office Excel 2003 lub Microsoft Excel 2002 wskaż pozycję Makro w menu Narzędzia, a następnie kliknij pozycję Visual Basic Redaktor. Alternatywnie naciśnij klawisze ALT+F11.

    W programie Microsoft Office Excel 2007 kliknij kartę Deweloper , a następnie kliknij pozycję Visual Basic w grupie Kod . Alternatywnie naciśnij klawisze ALT + F11.

    Uwaga

    Aby wyświetlić kartę Deweloper na wstążce, kliknij przycisk Pakietu Microsoft Office, kliknij pozycję Opcje programu Excel, kliknij kategorięPopularne , kliknij, aby wybrać kartę Pokaż dewelopera na wstążce , a następnie kliknij przycisk OK.

  3. W Redaktor Visual Basic kliknij pozycję Moduł w menu Wstaw.

  4. Wpisz lub wklej następujący przykładowy kod w arkuszu modułów.

    Sub QuoteCommaExport()
       ' Dimension all variables.
       Dim DestFile As String
       Dim FileNum As Integer
       Dim ColumnCount As Long
       Dim RowCount As Long
    
       ' Prompt user for destination file name.
       DestFile = InputBox("Enter the destination filename" _
          & Chr(10) & "(with complete path):", "Quote-Comma Exporter")
    
       ' Obtain next free file handle number.
       FileNum = FreeFile()
    
      ' Turn error checking off.
       On Error Resume Next
    
       ' Attempt to open destination file for output.
       Open DestFile For Output As #FileNum
    
       ' If an error occurs report it and end.
       If Err <> 0 Then
          MsgBox "Cannot open filename " & DestFile
          End
       End If
    
       ' Turn error checking on.
       On Error GoTo 0
    
       ' Loop for each row in selection.
       For RowCount = 1 To Selection.Rows.Count
    
       ' Loop for each column in selection.
          For ColumnCount = 1 To Selection.Columns.Count
    
            ' Write current cell's text to file with quotation marks.
             Print #FileNum, """" & Selection.Cells(RowCount, _
                ColumnCount).Text & """";
    
             ' Check if cell is in last column.
             If ColumnCount = Selection.Columns.Count Then
                ' If so, then write a blank line.
                Print #FileNum,
             Else
                ' Otherwise, write a comma.
                Print #FileNum, ",";
             End If
          ' Start next iteration of ColumnCount loop.
          Next ColumnCount
       ' Start next iteration of RowCount loop.
       Next RowCount
    
       ' Close destination file.
       Close #FileNum
    End Sub
    
  5. Przed uruchomieniem makra wybierz dane, które chcesz wyeksportować, a następnie uruchom podprogram QuoteCommaExport.