Я использую следующий код VBA для сохранения каждого отдельного листа в книге .xlsx в файл .csv.
Пока код работает хорошо, я хотел бы адаптировать код VBA, чтобы пустые столбцы и строки удалялись из создаваемых CSV-файлов.
Существующий код VBA:
Public Sub SaveWorksheetsAsCsv()
Dim xWs As Worksheet
Dim xDir As String
Dim folder As FileDialog
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then Exit Sub
xDir = folder.SelectedItems(1)
For Each xWs In Application.ActiveWorkbook.Worksheets
xWs.SaveAs xDir & "\" & xWs.Name, xlCSV
Next
End Sub
Чтобы удалить пустые строки и столбцы, я смог заставить работать JavaScript ниже в приложении .hta, но хотел бы интегрировать эту же функциональность в приведенный выше код VBA.
//Remove all blank rows
for(var i = usedRng.Rows.Count; i > 0; i--){
if( xlApp.CountA(usedRng.Rows(i)) == 0 ) usedRng.Rows(i).Delete();
}
//Remove all blank columns
for(var i = usedRng.Columns.Count; i > 0; i--){
if( xlApp.CountA(usedRng.Columns(i)) == 0 ) usedRng.Columns(i).Delete();
}
Как я могу интегрировать этот код удаления строки / столбца в VBA?