我正在使用openpyxl从Python编写Excel工作表,并希望在工作表中插入“spinners”。
到目前为止,我一直无法找到任何相关信息。我也愿意使用其他Python包。
如果无法做到这一点,还有另一种方法吗?我正在考虑从Python编写宏并以某种方式将其与Excel工作表合并的方法?
答案 0 :(得分:1)
似乎here openpyxl不支持ActiveX控件,如果工作簿由openpyxl处理,它们将被丢弃。
如果安装了Excel,则可以通过pywin32访问以下所有内容。
Here is a good overview可用于Excel的不同类型的控件
似乎有两种类型的控件可以嵌入到Excel工作表中:
Excel控件
Excel Automation Worksheet
对象有一个名为Spinners
的方法,它本身有一个方法Add
。 VBA代码如下所示(使用Macro Recorder生成):
ActiveSheet.Spinners.Add(816, 36, 92.25, 49.5)
我没有设法找到有关以编程方式添加这些控件的任何文档。
ActiveX控件
这些似乎是标准的Microsoft Forms记录here。具体来说,SpinButton控件记录在here。
使用Macro Recorder,我得到以下内容:
ActiveSheet.OLEObjects.Add(ClassType:="Forms.SpinButton.1", Link:=False, _
DisplayAsIcon:=False, Left:=633, Top:=47.25, Width:=58.5, Height:= _
62.25)