【发布时间】:2016-06-14 16:34:56
【问题描述】:
我正在将 XLSM 工作簿的工作表中的数据保存到 CSV 文件中。那部分工作文件。但是当我保存到 CSV 时,它会关闭 XLSM 文件。我想让 XLSM 文件保持打开状态。有没有办法做到这一点并在一个宏下关闭 CSV 文件?
这是我目前所拥有的:
'Since this macro ended without error, save the workbook as a CSV file
ActiveWorkbook.SaveAs Filename:=strPathName & strCSVName, _
FileFormat:=xlCSVMSDOS, CreateBackup:=False
'Set an object for the CSV file
Set objCsvFile = ActiveWorkbook
'The Save to CSV closed the workbook. Open the XLSM workbook
Workbooks.Open strPathName & "\" & strXlsmName
如果我现在尝试关闭 CSV 文件,宏会突然停止。
感谢您查看此内容。
【问题讨论】:
-
如果您复制 xlsm,打开它,然后另存为 csv,该怎么办?这样您的原始 xlsm 就不会受到影响。
-
我不确定您希望如何将整个 Excel 文件导出为一个 CSV 文件。通常,人们为每张工作表创建一个 CSV 文件(假设该工作表上只有一个表格,并且该表格的左上角与 A1 对齐)。在这种情况下,您可以简单地使用以下解决方案:stackoverflow.com/a/25387016/1153513(使用
.Copy而不是.Move)。但如果这不是一个选项,您可以使用@Ampersand 提议。无论如何,您需要(最终)打开并运行至少一个.xlsm文件(以托管 VBA 代码)。 -
我只是从工作簿中导出活动工作表以导出到 CSV。那部分效果很好。我没有考虑过 Ampersand 的方法。我会用那个。感谢您的帮助。