我目前正在研究一种临时解决方案,但是遇到了问题....
情况是:
我有一个内置于Excel中的转换器,它可以打开XLS文件,进行一些修改,以便可以将文件上传到Oracle数据库。
问题是,我打开的XLS文件无法将“另存为”对话框保存到该文件,而是始终保存该转换器的副本。
我需要做的是在文件路径中打开“另存为”对话框,为我打开的文件设置CSV的文件过滤器。
RRBOOK。激活 RR Book是我打开的DIM文件
Dim FileName As String
FileName = Application.GetSaveAsFilename("\\FILEPATH\", FileFilter:="CSV (Comma delimited) (*.csv), *.csv")
If FileName <> "False" Then
ActiveWorkbook.SaveAs FileName
End If
任何帮助将不胜感激!
答案 0 :(得分:0)
避免使用ActiveWorkbook
和.Activate
。
直接将所需的工作簿保存为
RRBOOK.SaveAs FileName
此外,您还应该根据XlFileFormat enumeration和Workbook.SaveAs method指定要保存的文件格式。
因此,要另存为CSV,则应使用
RRBOOK.SaveAs FileName, xlCSV
所以你最终会得到类似的东西
Dim FileName As Variant
FileName = Application.GetSaveAsFilename("\\FILEPATH\", FileFilter:="CSV (Comma delimited) (*.csv), *.csv")
If VarType(FileName) = vbBoolean And FileName = False Then
'user pressed cancel
Exit Sub
Else
RRBOOK.SaveAs FileName
End If