如果的打开Word文档是Visible参数设为false你会得不到Selection实体
2011-12-21 13:25
369 查看
以下是异常重现代码:
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实体
- 老大要求把Word文档加上公司的标识,公司名文字或者logo图片都可以,但要求是用电脑打开(电子文档时)能看见标识,如果打印出来(纸质文档)就不显示出来,如何实现?
- 使用WPS打开的word文档内容复制不到excel里
- Word 2003中打开最近操作过的文档的两种推荐的方法
- javascript中打开word文档
- 在VB.NET窗体中如何打开/查看Office文档(Word, Excel, PowerPoint)
- word文档,excel文档打开慢解决方法
- 如何才能实现在点击链接时直接在网页中打开word文档,但不提示保存
- C#一行代码打开任何格式的本地文档,word,ppt,mp3,remb都可以
- Word打开文档
- 打开word文档 乱码弹出文件转换对话框
- 如何在IE中以只读的属性直接打开硬盘中的word,excel文档?
- richTextBox实现带格式word文档的打开、保存、另存为.
- C#中操作Word(2)—— 新建、打开、保存和关闭文档
- js打开word文档,而不是下载
- 删除顺序表L中最小元素结点,并通过引用型参数value返回其值 如果删除成功,返回TRUE,否则,返回false
- C#操作Word (2)-- 打开&关闭Word文档
- Ruby 打开 Word 文档并打印
- VB的文本框控件TextBox打开Office的Word文档
- 打开doc文档提示Word 遇到问题需要关闭以安全模式启动解决办法