У меня есть следующий код для сохранения моих рабочих листов в виде файлов csv в папку, в которой сохранена книга. Как мне изменить это, чтобы открыть диалоговое окно «Сохранить как» позволить мне выбрать, где я хотел бы сохранить?Запрос на сохранение как файл doalog при сохранении рабочих листов в виде файлов csv
Чтобы уточнить, я хочу изменить код, чтобы указать только путь, по которому все файлы могут быть сохранены. Я не ищу, чтобы сохранить как для каждого листа.
Sub SaveOnlyCSVsThatAreNeeded()
Dim ws As Worksheet, newWb As Workbook
Application.ScreenUpdating = False
For Each ws In Sheets(Array("01 - Currencies", ..."14 - User Defined Fields"))
ws.Copy
Set newWb = ActiveWorkbook
With newWb
.SaveAs ws.Name, xlCSV
.Close (False)
End With
Next ws
Application.ScreenUpdating = True
End Sub
Я заменил все это на сборщик папок, чтобы упростить его. Добавлено обновленный код. Теперь я получаю код ошибки 9 - индекс вне диапазона.
Sub SaveOnlyCSVsThatAreNeeded()
Dim ws As Worksheet, newWb As Workbook
Dim pathh As Variant
Dim FolderName As String
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
If .Show = -1 Then
FolderName = .SelectedItems(1)
End If
End With
pathh = FolderName
Application.ScreenUpdating = False
For Each ws In Sheets(Array("01 - Currencies", "02 - .....14 - User Defined Fields"))
ws.Copy
Set newWb = ActiveWorkbook
With newWb
.SaveAs pathh.path & "\" & ws.Name, xlCSV
.Close (False)
End With
Next ws
Application.ScreenUpdating = True
End Sub
I думаю, я должен перефразировать. Я хочу изменить код, чтобы иметь возможность указать только путь, к которому все файлы могут быть сохранены. Я не хочу получать спасение, как каждый раз для каждого листа. – user1266515
Вам понадобится код для выбора типа папок. Я уверен, что для этого есть коды, которые вы можете найти. В качестве альтернативы с помощью «Application.GetSaveAsFilename» вы можете предоставить ему такие параметры, как «InitialFilename». Затем пользователь может просто выбрать папку, как обычный диалог «Сохранить как», и выполнить ваши требования. Не может ли это быть решением? https://msdn.microsoft.com/en-us/library/office/ff195734.aspx командная документация. – nbayly
AlrightI опубликовал модифицированный код .... но теперь мне требуется указать имя файла, а не просто выбрать путь. Что мне нужно, чтобы исправить это? – user1266515