用Python在openpyxl中创buildExcel“spinners”
我正在使用openpyxl从Python写一个Excel工作表,并且希望在工作表中插入“spinners”。
至今我一直无法find任何东西。 我也愿意使用其他Python包。
如果不能这样做,还有另外一种方法吗? 我正在思考从Python写macros的方式,并以某种方式将它与Excel表格合并?
从这里看来,openpyxl不支持ActiveX控件,如果工作簿是由openpyxl处理的话,它们将被丢弃。
如果您安装了Excel,则以下所有内容都应该可以通过pywin32访问。
以下是可用于Excel的不同types的控件的一个很好的概述
看起来有两种types的控件可以embedded到Excel工作表中:
- Excel控件(较老,向后兼容Excel 5)
- ActiveX控件(更新,更可定制)
Excel控件
Excel自动化Worksheet
对象有一个称为Spinners
的方法,它本身有一个Add
方法。 VBA代码如下所示(使用macroslogging器生成):
ActiveSheet.Spinners.Add(816, 36, 92.25, 49.5)
我没有设法find任何编程添加这些控件的文档。
ActiveX控件
这些似乎是此处logging的标准Microsoft Forms。 具体来说, 这里logging了SpinButton控件。
使用macros录像机,我得到以下内容:
ActiveSheet.OLEObjects.Add(ClassType:="Forms.SpinButton.1", Link:=False, _ DisplayAsIcon:=False, Left:=633, Top:=47.25, Width:=58.5, Height:= _ 62.25)