Procedure voor het exporteren van een tekstbestand met zowel komma- als aanhalingstekens in Excel

Samenvatting

Microsoft Excel heeft geen menuopdracht voor het automatisch exporteren van gegevens naar een tekstbestand, zodat het tekstbestand wordt geƫxporteerd met zowel aanhalingstekens als komma's als scheidingstekens. Er is bijvoorbeeld geen opdracht om automatisch een tekstbestand te maken dat de volgende gegevens bevat:

"Text1","Text2","Text3"

U kunt deze functionaliteit echter in Excel maken met behulp van een Microsoft Visual Basic for Applications-procedure.

Meer informatie

Microsoft verstrekt programmeervoorbeelden alleen ter illustratie, zonder expliciete of impliciete garantie. daaronder mede begrepen, maar niet beperkt tot impliciete garanties met betrekking tot de verkoopbaarheid en/of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend bent met de programmeertaal VBScript, alsmede met de hulpprogramma's waarmee procedures worden gemaakt en waarmee fouten in procedures worden opgespoord. U kunt desgewenst contact opnemen met Microsoft Product Support Services voor uitleg over de functie van een bepaalde procedure. Microsoft Product Support Services is echter niet bereid de voorbeelden aan te passen om extra functies toe te voegen of om procedures te maken die aan uw specifieke eisen voldoen.

U kunt de instructie Print # gebruiken in een Visual Basic-procedure die vergelijkbaar is met de volgende om een tekstbestand met zowel aanhalingstekens als komma's als scheidingstekens te exporteren. Voor een correcte werking van de procedure selecteert u de cellen die uw gegevens bevatten voordat u deze uitvoert.

Voer de volgende stappen uit voordat u met de volgende voorbeeldcode werkt:

  1. Open een nieuwe werkmap.

  2. Wijs in Microsoft Office Excel 2003 of Microsoft Excel 2002 macro aan in het menu Extra en klik vervolgens op Visual Basic Editor. U kunt ook op Alt+F11 drukken.

    Klik in Microsoft Office Excel 2007 op het tabblad Ontwikkelaars en klik vervolgens in de groep Code op Visual Basic. U kunt ook op Alt + F11 drukken.

    Opmerking

    Als u het tabblad Ontwikkelaars op het lint wilt weergeven, klikt u op de Microsoft Office-knop, klikt u op Opties voor Excel, klikt u op de categoriePopulair , schakelt u het selectievakje Tabblad Ontwikkelaar op het lint weergeven in en klikt u vervolgens op OK.

  3. Klik in de Visual Basic-Editor op Module in het menu Invoegen.

  4. Typ of plak de volgende voorbeeldcode in het moduleblad.

    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. Voordat u de macro uitvoert, selecteert u de gegevens die u wilt exporteren en voert u vervolgens de subroutine QuoteCommaExport uit.