HTML/JS转换工具
Unicode编码转换
当前位置:首页 > 数据库 > 综合技术 > 

python编写com组件问题

来源:IT技术网编辑:雨天发布于:2018-06-25人围观

文件: PyHello.py文件

class PyHello(object):
    def __init__(self):
        pass

    def SayHello(self):
        return 'Hello Python!'

    def DoAdd(self, a, b):
        return a + b
class _WrapPyHello(PyHello):
    import pythoncom
    # _reg_clsid_ = '{4ae5ed1d-c378-4da1-9816-5a038112dlksdjfasio}'
    _reg_clsid_ = pythoncom.CreateGuid()
    _reg_progid_ = "Python.PyHello"
    _public_methods_ = ['SayHello','DoAdd']


if __name__=='__main__':
    import win32com.server.register
    win32com.server.register.UseCommandLine(_WrapPyHello)

setup.py文件

 from distutils.core import setup
import py2exe


setup(com_server=["PyHello"],
      zipfile = None,
      options = {
                    'py2exe' : {
                        "bundle_files": 1,
                       "dll_excludes": ["MSVCP90.dll","w9xpopen.exe"]
                    }
                }
)

如果直接运行 PyHello.py 之后,其实已经注册好了,已经可以用VBS调用了

VBS 代码:

 Set inst = CreateObject("Python.PyHello")
MsgBox "1111"
MsgBox inst.SayHello()
MsgBox inst.DoAdd(1,3)

把PyHello.py这个文件编译成dll, 然后在VBS中不依赖python的环境使用.
 

#在web页面调用方法
 
<html>
<script type="text/javascript">
 
function OfficeImPlug(){
    if(window.ActiveXObject){
        try{
            var IM = document.getElementById("officeplug");
            var r = IM.detectOfficeIM();
            //alert(r);
            //window.location = "http://www.my398.com";
        }
        catch(e){
            // actions When Blocked
            // 请安装插件
            alert("actions When Blocked");
        }
    }
    else{
        // actions When Not Support
        // 请使用IE浏览器
        alert("actions When Not Support");
    }
}
 
</script>
<body>
<object  id="officeplug" name="officeplug"  width="0" height="0" classid="clsid:{A47E8D38-6202-4AA5-A9A0-259F3386E669}" codebase="implug.dll"></object>
<p>
<input type="button" value="Test" onclick="OfficeImPlug()" name="Test">
<img src="upimages/pkgimg/kj2.jpg" border="0" onclick="OfficeImPlug();"/>
</form>
<P>
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
 
</body>
</html>
织梦二维码生成器

上一篇:swagger-api中qiujie设置和修改

下一篇:没有了

与相关的文章
有时间的话来看看IT界的突发事件
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片