Word中自定义“撤销记录”(UndoRecord)的使用
在Word中用户可以通过UndoRecord来记录一组动作,并显示在撤销菜单内。这样可以让用户一次性删除大量的操作。下面的代码是在Visual Studio 2010, Word 2010 下建立的一个示例:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.Office.Tools.Ribbon;using Word = Microsoft.Office.Interop.Word;using System.Windows.Forms;namespace WordAddIn9{ public partial class Ribbon1 { private void Ribbon1_Load(object sender, RibbonUIEventArgs e) { } private void button1_Click(object sender, RibbonControlEventArgs e) { Word.Application wdApp = Globals.ThisAddIn.Application; Word.Document wdDoc = wdApp.ActiveDocument; Word.UndoRecord ur = wdApp.UndoRecord; ur.StartCustomRecord("Test it"); Word.Range range = wdApp.Selection.Range; range.InsertAfter("Test it!"); range.Collapse(Word.WdCollapseDirection.wdCollapseEnd); range.Select(); range.Paragraphs.Add(); range.Paragraphs.Add(); int i = range.Paragraphs.Count; range.Paragraphs[i].Range.Text = "Hakuna Matata"; MessageBox.Show(string.Format("{0}\n{1}", ur.CustomRecordLevel, ur.IsRecordingCustomRecord)); ur.EndCustomRecord(); MessageBox.Show(string.Format("{0}\n{1}", ur.CustomRecordLevel, ur.IsRecordingCustomRecord)); } private void button2_Click(object sender, RibbonControlEventArgs e) { } }}