我有一个包含宏的Excel文件(Main.xlsm).我有一个Python文件(python.py)来生成一个辅助Excel文件(sub.xlsx),我将在Main.xlsm文件的宏中进一步调用它.这个由python.py运行生成的sub.xlsx文件保存在同一个工作目录中.
现在,我想使这个python.py的Main.xlsm宏的运行过程中被执行,然后使用这个XLSX文件.我基本上想要减少外部执行python.py的步骤.那是否有命令?我是VBA的新手.
我有一些用Python编写的代码,不能转换为.NET语言.我需要从.NET WinForms应用程序中调用其中一个函数.
现在,我通过将Python脚本作为单独的进程启动并将参数作为命令行参数传递给它来实现.它有效,但我不喜欢这个解决方案.我想将它改进为更好的一个.
有没有更好的方法.py从.NET应用程序调用脚本的功能?最好的方法是什么?
注意:IronPython不是此Python脚本的选项
是否可以在不需要提升的情况下运行comserver.
例如,我能够从Python.TestServer(下面)运行代码,但它需要提升.
Python.TestServer代码位于:从.NET使用Python COM服务器
是否可以运行不需要提升的com服务器,以便我可以在没有管理密码的情况下运行com对象.
例如
import pythoncom
from win32com.server import localserver
class demoObj(object):
_reg_clsctx_ = pythoncom.CLSCTX_LOCAL_SERVER
_reg_clsid_ = "{FA501660-8BB0-42F6-842B-A757FA3098DC}"
_reg_desc_ = "Demo COM server"
_reg_progid_ = "Python.Demo"
_public_methods_ = ['hello']
def hello(self, who):
return "Hellow " + who
localserver.serve('B83DD222-7750-413D-A9AD-01B37021B24B')
Run Code Online (Sandbox Code Playgroud)
我已经尝试了上面的代码,但它说 pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)
如何为本地服务器创建有效的类字符串?
示例vba:
Sub demodemo()
Set obj = CreateObject("Python.Demo")
Debug.Print obj.Hello("World")
End Sub
Run Code Online (Sandbox Code Playgroud)