Добрый день, уважаемые форумчане.
Для одновременного сохранения нескольких листов книги в отдельные файлы я пользуюсь следующим макросом:
Sub ExportSheetsToText()
Dim xWs As Worksheet
Dim xTextFile As String
Application.DisplayAlerts = False
For Each xWs In Application.ActiveWorkbook.Worksheets
xWs.Copy
ActiveSheet.Cells.Replace Chr(10), Chr(32)
xTextFile = ThisWorkbook.Path & "\Data\" & xWs.Name & ".txt"
Application.ActiveWorkbook.SaveAs Filename:=xTextFile, FileFormat:=xlText
Application.ActiveWorkbook.Saved = True
Application.ActiveWorkbook.Close
Next
Application.DisplayAlerts = True
Response = MsgBox("Экспорт данных завершен.", vbOKOnly, "Экспорт данных")
End Sub
У меня четыре вопроса по модификации данного кода:
1. Если в какой-либо ячейке исходного Exel-файла имеется символ запятой, то данные из этой ячейки при сохранении в файл будут обрамлены кавычками:
"один,два,три"как убрать при экспорте эти кавычки, чтобы получить:
один,два,три2. Как при сохранении содержимого листов в файлы исключить первую строку каждого листа (заголовок)?
3. Возможно ли исключить экспорт строк первая ячейка которых пустая?
4. Есть ли возможность назначить активацию макроса в момент когда пользователь нажимает кнопку сохранения исходного файла Exel?
Буду благодарен за решение любого из вышеозначенных вопросов. Спасибо заранее.