gpt4 book ai didi

python - 从 Python 执行 VBAscript

转载 作者:行者123 更新时间:2023-11-28 18:29:45 24 4
gpt4 key购买 nike

我需要一些关于 win32com.client 的帮助。我的代码可以从 Python 创建宏并使用 Excel,但我希望这段代码也能运行 vbascript。

感谢你们所有精彩的反馈!

import pyodbc

import win32com.client as win32

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 Download_Standard_BOM()
'Initializes variables
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim ConnectionString As String
Dim StrQuery As String

ConnectionString = "Provider=SQLOLEDB; Network Library=dbmssocn;Password=********;User ID=*******;Initial Catalog=**;Data Source=*************;"

cnn.Open ConnectionString

cnn.CommandTimeout = 900

StrQuery = "SELECT * FROM car_search WHERE shop_id = *******"

rst.Open StrQuery, cnn

Sheets(1).Range("A2").CopyFromRecordset rst
End Sub'''

xlmodule.CodeModule.AddFromString(sCode)

最佳答案

您应该能够使用 Excel 的 Application.Run 方法:

xl.Run "Download_Standard_BOM"

编辑如果您需要引用 ADO,那么您可以使用后期绑定(bind),如下所示:

Dim cnn As Object 'ADODB.Connection
Dim rst As Object 'ADODB.Recordset

Set cnn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")

或者,使用早期绑定(bind)并添加对 VBA 项目的引用:

ss.VBProject.References.AddFromGuid "{2A75196C-D9EB-4129-B803-931327F72D5C}", 2, 8

关于python - 从 Python 执行 VBAscript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38361949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com