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:
Öppna en ny arbetsbok.
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.
I Visual Basic klickar du på Modul på Infoga-menyn.
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 SubInnan du kör makrot markerar du de data du vill exportera och kör sedan subrutinen QuoteCommaExport.