前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Windows上开机自启BAT调用WPS的COM组件失败的解决方法

Windows上开机自启BAT调用WPS的COM组件失败的解决方法

作者头像
码客说
发布于 2021-11-17 06:59:07
发布于 2021-11-17 06:59:07
2.6K01
代码可运行
举报
文章被收录于专栏:码客码客
运行总次数:1
代码可运行

配置组件服务

Java中使用jacob调用WPS的COM组件的时候,手动启动可以,但是开机自启却不行

Win+R 快捷键进入运行菜单,输入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Dcomcnfg

找到: [组件服务]=>[计算机]=>[我的电脑] =>[DCOM配置] =>[wps……]

如果没找到(wps……):

Win+R 快捷键进入运行菜单

输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mmc -32

[文件]——[添加或删除管理单元]——[组件服务](从可用管理单元,添加到所选管理单元,点击:确定)

添加完以后,在控制台根节点下,找到[wps……],

右键设置属性,

设置标识为:交互式用户

点击”安全”标签,

在”启动和激活权限”上点击”自定义”,然后点击对应的”编辑”按钮,在弹出的”安全性”对话框中填加

  • NETWORK SERVICE 用户(注意要选择本计算机名)
  • IIS_IUSRS

并给它们赋予本地启动本地激活权限;

在”访问权限”上点击”自定义”,然后点击”编辑”,在弹出的”安全性”对话框中也填加

  • NETWORK SERVICE
  • IIS_IUSRS

然后给他们赋予”本地访问”权限.

Java调用COM

工具类开头的宏说明 构件ActiveX组件实例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ActiveXComponent ax = new ActiveXComponent("name");

其中的 name 的值和你需要调用的ActiveX控件有关 每个 Dispatch 对象看成是对 ActiveX 控件的一个操作,这一步是获得该 ActiveX 控件的控制权

9.0之后的版本接口名称

MS控件名

name

WPS文字

KWPS.Aplication

WPS的Excel

KET.Application

WPS的演示文档

KWPP.Application

Word

Word.Application

Excel

Excel.Application

Powerpoint

Powerpoint.Application

浅谈不同WPS的Api版本调用–老版本V8与新版本V9

对象名称修改

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
createobject("wps.applicaion")

修改为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
createObject("kwps.application")

Python调用

安装依赖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install pypiwin32

代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os
import win32com.client


def ConvertByWps(sourceFile, targetFile):
    if not os.path.exists(sourceFile):
        print(sourceFile + "不存在,无法继续!")
        return False
    typemap = {
        'doc': 'word',
        'docx': 'word',
        'ppt': 'ppt',
        'pptx': 'ppt',
        'xls': 'excel',
        'xlsx': 'excel',
    }
    name_arr = sourceFile.split(".")
    suffix = name_arr[len(name_arr) - 1]
    wpstype = typemap.get(suffix)

    if (wpstype is None):
        return False

    os.system('taskkill /im wps.exe')
    # 如果文件存在就删除
    if os.path.exists(targetFile):
        os.remove(targetFile)
    if wpstype == 'word':
        ConvertDocToPdf(sourceFile, targetFile)
    elif wpstype == 'ppt':
        ConvertPptToPdf(sourceFile, targetFile)
    elif wpstype == 'excel':
        ConvertXlsToPdf(sourceFile, targetFile)
    if os.path.exists(targetFile):
        return True
    else:
        return False


# 转换 Word文件档到pdf
def ConvertDocToPdf(src, dst):
    wps = win32com.client.Dispatch("Kwps.Application")
    wps.Visible = False
    doc = wps.Documents.Open(src)
    doc.ExportAsFixedFormat(dst, 17)
    doc.Close()
    wps.Quit()


# 转换 PPT文件档到pdf
def ConvertPptToPdf(src, dst):
    wps = win32com.client.Dispatch("Kwpp.Application")
    wps.Visible = False
    ppt = wps.Presentations.Open(src)
    ppt.SaveAs(dst, 32)
    ppt.Close()
    wps.Quit()


# 转换 XLS文件档到pdf
def ConvertXlsToPdf(src, dst):
    wps = win32com.client.Dispatch("Ket.Application")
    excel = wps.Workbooks.Open(src)
    excel.ExportAsFixedFormat(0, dst)
    excel.Close()
    wps.Quit()


if __name__ == '__main__':
    # 当前目录
    d = os.path.dirname(__file__)
    abspath = os.path.abspath(d)

    # 测试用例
    src = abspath + r"/Doc/test.docx"
    dst = abspath + r"/Doc/test.pdf"
    r = ConvertByWps(src, dst)
    print(r)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
虚幻与Unity引擎 之 ✨ 为什么国内那么多开发者喜欢用虚幻或者Unity?
首先,使用哪一款游戏引擎去制作一款游戏,并不是根据使用者的喜好来制定的。 开发者们的喜好千奇百怪,但最终能在技术选型中影响到结果的,往往是技术积累以及引擎本身的特性。
呆呆敲代码的小Y
2021/08/12
4.2K1
游戏开发完整学习路线(各个版本都有)
在软件开发中,游戏开发这个方向看起来目标很明确,但其实是个领域很广的方向,入门的时候如果得不到指点一二,很容易误入歧途,相反,如果走这条路之前能得到前人的一些指路,是可以事半功倍的。 一 平台与编程语言选择 首先,游戏开发的平台就有很多类型:  个人主机平台:Windows、Linux、Mac OC; 移动平台:iOS、Android、Windows Phone、BlackBerryOS、Symbian; 专业主机平台:Xbox、PlayStation、Will等。 如果你想从事移动平台的游戏开发,An
用户1198337
2018/01/19
3.2K0
游戏开发完整学习路线(各个版本都有)
【UE4项目】类魂ARPG游戏实现
引擎:UE4.27版本 开发人员:个人制作 用时:两周 脚本:Lua+蓝图 美术资源:取自网络,仅学习使用. 补充:因为时间短,目前只做了包括战斗系统的一些基础功能,后续会加入篝火、等级加点、道具拾取、背包系统、界面UI、换装、处决等,逐渐完善。
六月丶
2022/12/26
9380
【UE4项目】类魂ARPG游戏实现
从产品设计到虚拟现实:Google虚拟现实团队设计师和你聊VR
◆ ◆ ◆ 前言 我是Google的一位产品设计师。我原本在Sparrow这个法国的创业团队工作,当我加入Google后,则进入了Gmail团队,参与打造了Google的旗舰产品—— Inbox by Gmail。我设计这种生产力工具已经好几年了,我觉得自己已经到达了一个临界点。我想要拓展自己的技能,每天学习新的东西,在我从未接触过的领域成为专家。我离开了原来的岗位,想给自己一些全新的挑战。 Oculus 在 Kickstarter上众筹期间,我对虚拟现实产生了浓厚的兴趣。因为我看到了它带来的沉浸感和无限
大数据文摘
2018/05/25
8670
不用羡慕Unreal有蓝图,原来Unity也有可视化编程!
本号已有原创文章250+篇,以软件工程为纲,DevOps为基,洞察研发效能全貌,涵盖从需求管理、应用/游戏开发、软件测试、发布部署到运营监控的完整流程。无论您是项目经理、产品经理、开发人员、测试人员,还是运维人员,在这里您都可以有所收获,同时深入理解其他角色的工作内容,共同助力DevOps的成功落地。欢迎关注,有任何问题可发送私信~
DevOps持续交付
2024/03/18
2.1K0
不用羡慕Unreal有蓝图,原来Unity也有可视化编程!
2d像素游戏基本架构
用户11315985
2024/10/16
3680
2d像素游戏基本架构
VR游戏的开发框架
VR游戏的开发框架主要指的是用于构建虚拟现实体验的软件和工具集合。这些框架通常包括游戏引擎、VR SDKs(软件开发工具包)以及其他辅助工具,它们共同协作,帮助开发者处理VR特有的挑战,如沉浸感、性能、交互和舒适度。
数字孪生开发者
2025/05/27
890
VR游戏的开发框架
Unreal 骨骼动画入门(一)
在这篇文章中,我们将从零开始学习 UE 的骨骼动画基本使用方法,通过一个 demo 工程,演示如何利用 UE 提供的骨骼动画能力来实现角色在不同速度和方向下的移动效果。
zhiruili
2023/10/20
1.4K0
Unreal 骨骼动画入门(一)
【Unity】2D角色跳跃控制器
人物素材选用的是童年游戏《死神VS火影》中黑崎一护卍解形态,动作分帧图如下,进行扣绿处理后,可以导入到unity中进行自动切图。
zstar
2023/11/06
5990
【Unity】2D角色跳跃控制器
UE4 蓝图开发总结(一):从哪里获取资源
经过短暂对UE的学习,用蓝图完成了一个简单的RPG游戏Demo,接下来就对这期间的学习过程做一个复盘,一是让自己再加深一下印象,二是也给有需要的人一个参考。
HelloWorld杰少
2023/03/02
1.5K0
UE4 蓝图开发总结(一):从哪里获取资源
CryEngine 5来势汹汹,虚幻引擎4也不甘示弱——作为开发者该怎么选?
2016年,随着各大VR硬件的陆续发布,用户对于VR游戏及内容体验的呼声也越来越高,而好的游戏体验自然少不了优质的游戏引擎的支撑。游戏引擎是指一些已编写好的可编辑的电脑游戏系统或者一些交互式的实时图像
VRPinea
2018/05/15
2.6K0
VR虚拟现实开发_vr虚拟世界
Here, you’ll get to know about Virtual Reality and how you should step by step start developing a VR Application and keep your first foot in the VR Development aura.
全栈程序员站长
2022/10/01
1.3K0
VR虚拟现实开发_vr虚拟世界
VR入门:基础概念与设计工具
前言: 作为一线的UI设计师,你一定也同样会关注VR方面的知识。希望看过forweb上这篇译文相信会你会对未来的学习有一个明确方向: 我们来了解一些作为设计师需要掌握的VR基础概念及相关设计工具。我们不会探索的过于深入,面向设计师的职能点到为止即可。 新的空间维度与沉浸式体验所带来的冲击是前所未有的。要在三维世界当中打造令人舒适的互动体验,你需要了解一些此前可能并未接触过的设计与技术原则。我们的Cardboard团队将一系列概念知识打包到了Cardboard Design Lab这款app(Android)
用户1730674
2018/05/02
1.3K0
VR入门:基础概念与设计工具
如何用python制作3d游戏_【教程】12个步骤让你快速学会制作3D游戏
Unity3D不仅是一款功能强大且易于上手的游戏引擎,更重要的是,它还可以被免费下载(它还有一个功能更强大的付费版,但其实你可以使用免费版本完成绝大部分工作)。
全栈程序员站长
2022/09/02
3.9K0
Unity3D制作3维立体小游戏
Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化的多平台综合游戏开发工具,是一个全面整合的专业的游戏引擎,Unity类似Director,Blender game engine,Virtools或Torque Game Builder等利用交互的图形化开发环境为首要方式的软件。下面通过Unity做这2件事:
全栈程序员站长
2022/08/24
8200
Unity3D制作3维立体小游戏
unity官方案例精讲(第三章)--星际航行游戏Space Shooter
导入的工程包中,包含着一个完整的 _scene---Main场景,创建一个全新场景,会在其中实现大部分功能
酱紫安
2020/10/15
3.5K0
unity官方案例精讲(第三章)--星际航行游戏Space Shooter
你想制作一款属于自己的游戏吗?
如今,关于游戏开发的热议很多,中国已成为该领域的主要市场。每天都有新的游戏开发公司涌现,显然,许多新的程序员和设计师都想进入这个行业,他们中的许多人都是在没有太多投资的情况下自己开始的。
海拥
2022/11/29
1K0
你想制作一款属于自己的游戏吗?
UE4: 学习虚幻引擎4的16条准则
选文 | 朱颜夫 校对 | 吴金忠 翻译 | 朱颜夫 xiaoshen yan 作为一个完全的新手,尝试去学习一个新的游戏引擎看起来会很可怕。你拥有了许多的学习教程、文件和建议,但是你却不明白怎样去开始或是以一个什么样的步骤去学习虚幻引擎4。你在不同的方向间摇摆不定,最终你会越来越迷惑和受打击。 我花费了许多的时间去重构那些从零开始学习游戏引擎的方法。那些方法就是你最初需要关注什么、哪些是你现在需要避免的。 虚幻引擎4是一个完全的游戏引擎。它是一款极度深奥且复杂的软件,可以用来创造各种类型的游戏、环境、电影
大数据文摘
2018/05/25
3.6K0
BLUI:一种创建游戏UI的简单方法
在过去几年中,游戏开发引擎变得越来越好上手了。像Unity这样一直免费使用的游戏引擎,以及最近从付费订阅转换为免费服务的虚幻引擎,它们都使独立开发人员可以使用3A 发布者使用的相同行业标准的工具。虽然这些引擎都不开源,但是它们可以促进行业的开源生态系统发展。
五月Rambo
2019/12/09
1.9K0
BLUI:一种创建游戏UI的简单方法
Unity 3D初学入门教程,7天玩转游戏开发VR虚拟现实1
本套游戏开发教程是基于C#语言进行开发的。没有C#基础的同仁可以查看我写的C#的教程。关注做全栈攻城狮公众号,回复“.net目录”就能获取全套教程目录。
做全栈攻城狮
2018/12/20
1.3K0
推荐阅读
相关推荐
虚幻与Unity引擎 之 ✨ 为什么国内那么多开发者喜欢用虚幻或者Unity?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验