使用Python访问Excel中的VB编辑器

2024-10-03 04:28:18 发布

您现在位置:Python中文网/ 问答频道 /正文

在excel 2007中使用一个类似于在excel中创建工作簿的方法(比如在vb中创建一个工作簿)而不是使用一个现有的access来创建:

import win32com.client as win32

import comtypes, comtypes.client

xl = win32.gencache.EnsureDispatch('Excel.Application')
xl.Visible = True
ss = xl.Workbooks.Add()
sh = ss.ActiveSheet

xlmodule = ss.VBProject.VBComponents.Add(1)  # vbext_ct_StdModule

sCode = '''sub VBAMacro()
       msgbox "VBA Macro called"
      end sub'''

xlmodule.CodeModule.AddFromString(sCode)

Tags: 方法importclientaddaccessasexcelss
1条回答
网友
1楼 · 发布于 2024-10-03 04:28:18

创建新工作簿的唯一原因是明确要求Excel这样做。这条线:

ss = xl.Workbooks.Add()

…正在调用Workbooks对象的Add方法。正如the documentation所说,而且正如你所期望的那样,这个名字:

Creates a new workbook. The new workbook becomes the active workbook. Returns a Workbook object.


如果你想访问一个现有的呢?与其他集合一样,Workbooks有{}和{}:

Returns the number of objects in the collection.

Returns a single object from a collection.

因此,您可以获得第一个现有的工作簿,或者您可以遍历所有这些工作簿以找到您想要的名称,或者……任何合适的名称。在


如果要打开磁盘上的文件并访问该工作簿,该怎么办?Workbooks还有{}:

Opens a workbook.


如果不清楚如何使用这些方法,请在文档中单击它们,它们会为您提供完整的签名和对它们所做操作的完整描述。例如,^{}看起来像:

^{pr2}$

从下面的图表中,您可以看到所有这些参数都是可选的。{cd9>很可能是你想要的。在

相关问题 更多 >