Skip to content

Instantly share code, notes, and snippets.

@information-security
Created May 2, 2016 22:13
Show Gist options
  • Save information-security/e6292453c0076895c45f42f97d6dba95 to your computer and use it in GitHub Desktop.
Save information-security/e6292453c0076895c45f42f97d6dba95 to your computer and use it in GitHub Desktop.
A macro to save a unicode CSV file in excel having all columns enclosed with quotation marks.
Sub QuoteCommaExport()
' Dimension all variables.
Dim DestFile As String
Dim ColumnCount As Integer
Dim RowCount As Integer
' Prompt user for destination file name.
DestFile = InputBox("Enter the destination filename" _
& Chr(10) & "(with complete path):", "Quote-Comma Exporter")
Set fsObject = CreateObject("Scripting.FileSystemObject")
Set csvFile = fsObject.CreateTextFile(DestFile, True, True) 'the second "true" forces a unicode file.
' Turn error checking off.
'On Error Resume Next
' 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.
csvFile.write """" & 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.
csvFile.writeLine
Else
' Otherwise, write a comma
csvFile.write ","
End If
' Start next iteration of ColumnCount loop.
Next ColumnCount
' Start next iteration of RowCount loop.
Next RowCount
csvFile.close
End Sub
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment