vba 如何使用 xlwings 保存工作簿?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/27281914/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-12 05:24:03  来源:igfitidea点击:

How do I save a workbook using xlwings?

pythonexcelvbaxlwings

提问by GiannisIordanou

I have an excel worksheet, some buttons and some macros. I use xlwings to make it work. Is there a way to save the workbook through xlwings ? I want to extract a specific sheet after doing an operation, but the saved sheet is the extracted sheet before the operation without the generated data.

我有一个 Excel 工作表、一些按钮和一些宏。我使用 xlwings 使其工作。有没有办法通过 xlwings 保存工作簿?我想在执行操作后提取特定的工作表,但保存的工作表是操作前提取的工作表,没有生成的数据。

My code for extracting the sheet I need is the following:

我用于提取我需要的工作表的代码如下:

Set objFSO = CreateObject("Scripting.FileSystemObject")

src_file = objFSO.GetAbsolutePathName(Wscript.Arguments.Item(0))
sheet_name = Wscript.Arguments.Item(1)
dir_name = Wscript.Arguments.Item(2)
file_name = Wscript.Arguments.Item(3)

Dim objExcel
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False

Dim objWorkbook
Set objWorkbook = objExcel.Workbooks(src_file)

objWorkbook.Sheets(sheet_name).Copy
objExcel.DisplayAlerts = False

objExcel.ActiveWorkbook.SaveAs dir_name + file_name + ".xlsx", 51
objExcel.ActiveWorkbook.SaveAs dir_name + file_name + ".csv", 6

objWorkbook.Close False
objExcel.Quit

回答by Felix Zumstein

Workbook.save()has now been implemented as part of v0.3.2: see the docs.

Workbook.save()现在已作为以下内容的一部分实施v0.3.2:请参阅文档