将工作表保存为 csv 文件时提示另存为文件对话框
Prompt save as file doalog while saving worksheets as csv files
我有以下代码将我的工作表作为 csv 文件保存到保存工作簿的文件夹中。如何修改它以显示 'save as' 对话框让我选择我要保存的位置喜欢保存吗?
更具体地说,我想修改代码以能够仅指定所有文件的保存路径。我不希望为每个工作表都保存一个。
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
使用以下代码显示“另存为”对话框屏幕:
pathh = Application.GetSaveAsFilename( _
FileFilter:="CSV Files (*.csv), *.csv", _
Title:="Save all spreadsheets", _
InitialFileName:=filenamestring)
干杯
VB中提示另存为对话框的命令是:
Application.GetSaveAsFilename
我有以下代码将我的工作表作为 csv 文件保存到保存工作簿的文件夹中。如何修改它以显示 'save as' 对话框让我选择我要保存的位置喜欢保存吗?
更具体地说,我想修改代码以能够仅指定所有文件的保存路径。我不希望为每个工作表都保存一个。
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
使用以下代码显示“另存为”对话框屏幕:
pathh = Application.GetSaveAsFilename( _
FileFilter:="CSV Files (*.csv), *.csv", _
Title:="Save all spreadsheets", _
InitialFileName:=filenamestring)
干杯
VB中提示另存为对话框的命令是:
Application.GetSaveAsFilename