Я хочу просмотреть все книги в папке, извлечь листы с именем «Имя листа» и сохранить их как .csv-файлы с именем файла, из которого они были созданы. Какой быстрый способ сделать это?Цикл функции vba через все книги в папке
Пример функции Vba в вопросе:
Sub Sheet_SaveAs()
Dim wb As Workbook
Sheets("Sheet Name").Copy
Set wb = ActiveWorkbook
With wb
.SaveAs ThisWorkbook.Path & "\" & ThisWorkbook.name, FileFormat:=xlCSV
'.Close False
End With
End Sub
Большое спасибо для смотреть
EDIT: Не дубликатом, потому что я работаю на извлечение листов из нескольких книг, а не несколько листов из одной книги ,
EDIT2: спасибо, все.
возможно дубликат [Сохранение первенствовать листа в CSV-файлы с файла + имя рабочего листа, используя VB] (HTTP: // stackoverflow.com/questions/10551353/saving-excel-worksheet-to-csv-files-with-filenameworksheet-name-using-vb) – skkakkar
Я думаю, что вы правы, хотя я пробовал код, помеченный как ответ, и я получаю ошибка в том, что мой файл может быть поврежден или прочитан onl y, которого я раньше не получал. – user53423103981023
• вы не можете использовать именованную константу, такую как xlCSV, в vbscript, поэтому использование 6 ниже в формате CSV. ~ For Each objws В objWB.Sheets objws.Copy objExcel.ActiveWorkbook.SaveAs objWB.Path & "\" & objws.Name & ".csv", 6 objExcel.ActiveWorkbook.Close ложных Следующая ~, а затем повторите попытку – skkakkar