Procedura per esportare un file di testo con delimitatori virgole e virgolette in Excel

Riepilogo

Microsoft Excel non dispone di un comando di menu per esportare automaticamente i dati in un file di testo in modo che il file di testo venga esportato con virgolette e virgole come delimitatori. Ad esempio, non è disponibile alcun comando per creare automaticamente un file di testo contenente i dati seguenti:

"Text1","Text2","Text3"

È tuttavia possibile creare questa funzionalità in Excel usando una procedura microsoft Visual Basic, Applications Edition.

Ulteriori informazioni

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presuppone che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug delle procedure. Gli esperti Microsoft sono autorizzati a fornire spiegazioni in merito alla funzionalità di una particolare routine, ma in nessun caso a modificare questi esempi per fornire funzionalità aggiuntive o a creare routine atte a soddisfare specifiche esigenze.

È possibile utilizzare l'istruzione Print # in una routine di Visual Basic simile alla seguente per esportare un file di testo con virgolette e virgole come delimitatori. Affinché la procedura funzioni correttamente, selezionare le celle che contengono i dati prima di eseguirla.

Prima di usare il codice di esempio seguente, seguire questa procedura:

  1. Aprire una nuova cartella di lavoro.

  2. In Microsoft Office Excel 2003 o in Microsoft Excel 2002 scegliere Macro dal menu Strumenti e quindi fare clic su Visual Basic Editor. In alternativa, premere ALT+F11.

    In Microsoft Office Excel 2007 fare clic sulla scheda Sviluppo e quindi su Visual Basic nel gruppo Codice . In alternativa, premere ALT + F11.

    Nota

    Per visualizzare la scheda Sviluppo nella barra multifunzione, fare clic sul pulsante Microsoft Office, scegliere Opzioni di Excel, fare clic sulla categoriaPopolari , selezionare la scheda Mostra sviluppatore nella casella di controllo Barra multifunzione e quindi fare clic su OK.

  3. Nella Editor di Visual Basic fare clic su Modulo dal menu Inserisci.

  4. Digitare o incollare il codice di esempio seguente nel foglio del modulo.

    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. Prima di eseguire la macro, selezionare i dati da esportare e quindi eseguire la subroutine QuoteCommaExport.