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

相关文章

mss32.dll文件丢失怎么办? 电脑提示mss32.dll丢失的多种修复方法

《mss32.dll文件丢失怎么办?电脑提示mss32.dll丢失的多种修复方法》最近,很多电脑用户可能遇到了mss32.dll文件丢失的问题,导致一些应用程序无法正常启动,那么,如何修复这个问题呢... 在电脑常年累月的使用过程中,偶尔会遇到一些问题令人头疼。像是某个程序尝试运行时,系统突然弹出一个错误提

电脑提示找不到openal32.dll文件怎么办? openal32.dll丢失完美修复方法

《电脑提示找不到openal32.dll文件怎么办?openal32.dll丢失完美修复方法》openal32.dll是一种重要的系统文件,当它丢失时,会给我们的电脑带来很大的困扰,很多人都曾经遇到... 在使用电脑过程中,我们常常会遇到一些.dll文件丢失的问题,而openal32.dll的丢失是其中比较

电脑win32spl.dll文件丢失咋办? win32spl.dll丢失无法连接打印机修复技巧

《电脑win32spl.dll文件丢失咋办?win32spl.dll丢失无法连接打印机修复技巧》电脑突然提示win32spl.dll文件丢失,打印机死活连不上,今天就来给大家详细讲解一下这个问题的解... 不知道大家在使用电脑的时候是否遇到过关于win32spl.dll文件丢失的问题,win32spl.dl

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

电脑提示msvcp90.dll缺少怎么办? MSVCP90.dll文件丢失的修复方法

《电脑提示msvcp90.dll缺少怎么办?MSVCP90.dll文件丢失的修复方法》今天我想和大家分享的主题是关于在使用软件时遇到的一个问题——msvcp90.dll丢失,相信很多老师在使用电脑时... 在计算机使用过程中,可能会遇到 MSVCP90.dll 丢失的问题。MSVCP90.dll 是 Mic

电脑开机提示krpt.dll丢失怎么解决? krpt.dll文件缺失的多种解决办法

《电脑开机提示krpt.dll丢失怎么解决?krpt.dll文件缺失的多种解决办法》krpt.dll是Windows操作系统中的一个动态链接库文件,它对于系统的正常运行起着重要的作用,本文将详细介绍... 在使用 Windows 操作系统的过程中,用户有时会遇到各种错误提示,其中“找不到 krpt.dll”

电脑报错cxcore100.dll丢失怎么办? 多种免费修复缺失的cxcore100.dll文件的技巧

《电脑报错cxcore100.dll丢失怎么办?多种免费修复缺失的cxcore100.dll文件的技巧》你是否也遇到过“由于找不到cxcore100.dll,无法继续执行代码,重新安装程序可能会解... 当电脑报错“cxcore100.dll未找到”时,这通常意味着系统无法找到或加载这编程个必要的动态链接库

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对