Jacob环境探索(兼容性、管理员、DLL位置、VS环境,COM权限)

2024-06-12 04:44

本文主要是介绍Jacob环境探索(兼容性、管理员、DLL位置、VS环境,COM权限),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


概述:

        最近在生产开发实践出现了很多问题,经过了一系列排查,特做如下总结


探索成果:

1. jacob.dll的建议位置

  • 首先jacob的官网,以及官方GitHub,你可以从这里找到DLL文件,以及相关资料
  • 然后DLL文件建议放置的位置为:C:\Windows\System32;jdk\bin;jdk\jre\bin
  • 或者可以直接使用主动加载的方式:
package com.example.worddemo.test.jacob;import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.LibraryLoader;
import com.jacob.com.Variant;public class RangeText {public static void main(String[] args) {// 加载 JACOB 库System.setProperty(LibraryLoader.JACOB_DLL_PATH, "path/to/jacob-1.20-x64.dll");LibraryLoader.loadJacobLibrary();ActiveXComponent wordApp = null;try {// 创建 Word 应用程序对象wordApp = new ActiveXComponent("Word.Application");// 设置 Word 应用程序不可见wordApp.setProperty("Visible", new Variant(false));// 获取文档集合Dispatch documents = wordApp.getProperty("Documents").toDispatch();// 打开指定路径的文档String filePath = "C:\\path\\to\\your\\document.docx";Dispatch document = Dispatch.call(documents, "Open", filePath).toDispatch();// 关闭文档,不保存更改Dispatch.call(document, "Close", new Variant(false));} catch (Exception e) {e.printStackTrace();} finally {// 退出 Word 应用程序wordApp.invoke("Quit", new Variant[0]);}}
}

2. 以兼容模式运行/管理员身份运行

        个人经过实践,这两种设置方式是没有用的,并不能解决、改善现有的调用错误问题。

        当然网上有成功案例,但是我试了没用

3. COM组件DCOM的权限以及交互模式设置

        个人实践没有用,如果想试的话可以参照下面的例子

  • 例子1
  • 例子2
  • 例子3
  • 例子4
  • 例子5

4.安装VS的C++运行库

        个人经过实践,没有用,根据官网给出的运行条件

安装了2019后依旧没有改善 


解决办法:

在本项目中,遇到的问题,解决办法用到了以下两个文章提到的方案

  • 这个文章中的显式加载,以及for循环改为while循环
  • 这个文章中的触发事件

这篇关于Jacob环境探索(兼容性、管理员、DLL位置、VS环境,COM权限)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1053227

相关文章

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

电脑提示d3dx11_43.dll缺失怎么办? DLL文件丢失的多种修复教程

《电脑提示d3dx11_43.dll缺失怎么办?DLL文件丢失的多种修复教程》在使用电脑玩游戏或运行某些图形处理软件时,有时会遇到系统提示“d3dx11_43.dll缺失”的错误,下面我们就来分享超... 在计算机使用过程中,我们可能会遇到一些错误提示,其中之一就是缺失某个dll文件。其中,d3dx11_4

游戏闪退弹窗提示找不到storm.dll文件怎么办? Stormdll文件损坏修复技巧

《游戏闪退弹窗提示找不到storm.dll文件怎么办?Stormdll文件损坏修复技巧》DLL文件丢失或损坏会导致软件无法正常运行,例如我们在电脑上运行软件或游戏时会得到以下提示:storm.dll... 很多玩家在打开游戏时,突然弹出“找不到storm.dll文件”的提示框,随后游戏直接闪退,这通常是由于

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文