Public Sub ExportListviewToCsv(ByRef theListView As ListView, csvExportFileName As String, Optional writeHeader As Boolean = True, Optional useQuotes As Boolean = True)
Dim fileNum As Integer
Dim theListItem As ListItem
Dim idx As Long
fileNum = FreeFile(255)
Open csvExportFileName For Output As #fileNum
If writeHeader = True Then
For idx = 1 To theListView.ColumnHeaders.Count
If useQuotes = True Then
Print #fileNum, Chr(34) & theListView.ColumnHeaders(idx).Text & Chr(34);
Else
Print #fileNum, theListView.ColumnHeaders(idx).Text;
End If
If idx < theListView.ColumnHeaders.Count Then
Print #fileNum, ",";
End If
Next
Print #fileNum, ""
End If
For Each theListItem In theListView.ListItems
If useQuotes = True Then
Print #fileNum, Chr(34) & theListItem.Text & Chr(34);
Else
Print #fileNum, theListItem.Text;
End If
If theListItem.ListSubItems.Count > 0 Then
Print #fileNum, ",";
For idx = 1 To theListItem.ListSubItems.Count
If useQuotes = True Then
Print #fileNum, Chr(34) & theListItem.SubItems(idx) & Chr(34);
Else
Print #fileNum, theListItem.SubItems(idx);
End If
If idx < theListItem.ListSubItems.Count Then
Print #fileNum, ",";
End If
Next
End If
Print #fileNum, ""
Next
Close #fileNum
End Sub