Procedur för att exportera en textfil med både kommatecken och citattecken i Excel

Anteckning

Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.

Sammanfattning

Microsoft Excel inte finns något menykommando för att automatiskt exportera data till en textfil, så att textfilen exporteras med både citattecken och kommatecken som avgränsare. Det finns till exempel inget kommando för att automatiskt skapa en textfil som innehåller följande data:

"Text1","Text2","Text3"

Du kan emellertid skapa den här funktionen i Excel med hjälp av en Microsoft Visual Basic for Applications procedur.

Mer information

Microsoft tillhandahåller programmeringsexempel enbart i förklarande syfte och gör inga utfästelser, varken uttryckligen eller underförstått. Detta omfattar men begränsas inte till underförstådd garanti för säljbarhet eller lämplighet för ett visst syfte. I denna artikel förutsätts att du känner till det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supportexperter kan hjälpa till att förklara funktionerna i en viss procedur, men de kommer inte att ändra dessa exempel för att tillhandahålla extra funktioner eller konstruera procedurer för att uppfylla dina specifika behov.

Du kan använda satsen Skrivut #i en Visual Basic procedur som liknar följande för att exportera en textfil med både citattecken och kommatecken som avgränsare. För att proceduren ska fungera korrekt markerar du de celler som innehåller dina data innan du kör den.

Innan du arbetar med följande exempelkod gör du så här:

  1. Öppna en ny arbetsbok.

  2. I Microsoft Office Excel 2003 eller i Microsoft Excel 2002 pekar du på Makro på menyn Verktyg och klickar sedan på Visual Basic Editor. Du kan också trycka på ALT+F11.

    I Microsoft Office Excel 2007 klickar du på fliken Utvecklare och sedan Visual Basic i gruppen Kod. Du kan också trycka på ALT + F11.

    Anteckning

    Du visar fliken Utvecklare i menyfliksområdet genom att klicka på Microsoft Office-knappen , klicka på Excel Alternativ , klicka på kategorin Populära, markera kryssrutan Visa fliken Utvecklare i menyfliksområdet och klicka sedan på OK.

  3. I Visual Basic klickar du på Modul på Infoga-menyn.

  4. Skriv eller klistra in följande exempelkod på modulbladet.

    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. Innan du kör makrot markerar du de data du vill exportera och kör sedan subrutinen QuoteCommaExport.