如果的打开Word文档是Visible参数设为false你会得不到Selection实体

本文主要是介绍如果的打开Word文档是Visible参数设为false你会得不到Selection实体,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下是异常重现代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Word = Microsoft.Office.Interop.Word;
using Microsoft.Win32;namespace WpfApplication5
{/// <summary>/// Interaction logic for MainWindow.xaml/// </summary>public partial class MainWindow : Window{List<string> words = new List<string>();public MainWindow(){InitializeComponent();words.Add("me");words.Add("you");words.Add("us");}private void button1_Click(object sender, RoutedEventArgs e){Word.Application objApplication = new Word.Application();OpenFileDialog objOpenFileDialog = new OpenFileDialog();objOpenFileDialog.Filter = "Word document (*.docx)|*.docx";objOpenFileDialog.ShowDialog();object strPath = objOpenFileDialog.FileName;object flag = false;//object nflag = true;var missing = Type.Missing;Word.Document objDocument = objApplication.Documents.Open(ref strPath, ref missing, ref flag, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref flag, ref missing, ref missing, ref missing, ref missing);try{foreach (string word in words){SelectionFind(word, objApplication);}}catch{}finally{objDocument.Save();((Word._Application)objApplication).Quit();}}private void SelectionFind(string word, Word.Application objApplication){try{objApplication.Selection.Find.ClearFormatting();}catch{}objApplication.Visible = false;try{objApplication.Selection.Find.Replacement.ClearFormatting();}catch{}objApplication.Selection.Find.Replacement.Highlight = 1;objApplication.Selection.Find.Text = word;objApplication.Selection.Find.Replacement.Text = word;objApplication.Selection.Find.Forward = true;objApplication.Selection.Find.Wrap = Word.WdFindWrap.wdFindContinue;objApplication.Selection.Find.Format = true;objApplication.Selection.Find.MatchCase = false;objApplication.Selection.Find.MatchWholeWord = false;objApplication.Selection.Find.MatchWildcards = false;objApplication.Selection.Find.MatchSoundsLike = false;objApplication.Selection.Find.MatchAllWordForms = false;objApplication.Selection.Find.Execute(Replace: Word.WdReplace.wdReplaceAll);objApplication.Options.DefaultHighlightColorIndex = Word.WdColorIndex.wdYellow;objApplication.Selection.Range.HighlightColorIndex = Word.WdColorIndex.wdYellow;}}
}


这篇关于如果的打开Word文档是Visible参数设为false你会得不到Selection实体的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

Python如何使用seleniumwire接管Chrome查看控制台中参数

《Python如何使用seleniumwire接管Chrome查看控制台中参数》文章介绍了如何使用Python的seleniumwire库来接管Chrome浏览器,并通过控制台查看接口参数,本文给大家... 1、cmd打开控制台,启动谷歌并制定端口号,找不到文件的加环境变量chrome.exe --rem

基于Java实现模板填充Word

《基于Java实现模板填充Word》这篇文章主要为大家详细介绍了如何用Java实现按产品经理提供的Word模板填充数据,并以word或pdf形式导出,有需要的小伙伴可以参考一下... Java实现按模板填充wor编程d本文讲解的需求是:我们需要把数据库中的某些数据按照 产品经理提供的 word模板,把数据

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用

如何提高Redis服务器的最大打开文件数限制

《如何提高Redis服务器的最大打开文件数限制》文章讨论了如何提高Redis服务器的最大打开文件数限制,以支持高并发服务,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录如何提高Redis服务器的最大打开文件数限制问题诊断解决步骤1. 修改系统级别的限制2. 为Redis进程特别设置限制

详解Spring Boot接收参数的19种方式

《详解SpringBoot接收参数的19种方式》SpringBoot提供了多种注解来接收不同类型的参数,本文给大家介绍SpringBoot接收参数的19种方式,感兴趣的朋友跟随小编一起看看吧... 目录SpringBoot接受参数相关@PathVariable注解@RequestHeader注解@Reque

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的