Я использую UndoreCord.StartCustomRecord в microsoft.office.interop.word для создания пользовательских записей Undo в моем надстройке VSTO. Тем не менее, я столкнулся с некоторым неожиданным поведением, которое делает слово undo stack непригодным. UndoreCord.StartCustomRecord и undoreCord.endCustomRecord .
проблема :
, когда я пытаюсь выполнить эти пользовательские действия после добавления пули или числа , моя пользовательская запись не появляется в Steck. Вместо этого: < /p>
Операция «Заменить все» разворачивается (рассматривается как отдельные шаги отмены, а не как одно пользовательское действие). < /Li>
Я больше не могу отменять действия, которые произошли до моего индивидуального выполнения. < /Li>
< /ul>
. /> фрагмент кода я использовал < /strong>: < /p>
Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range;
var application = Globals.ThisAddIn.Application;
var document = application.ActiveDocument;
this.undoRecord = application.UndoRecord;
this.undoRecord.StartCustomRecord("MyRecord");
string replacementText = "";
Word.Find find = currentRange.Find;
find.ClearFormatting();
find.Replacement.ClearFormatting();
find.Text = "^p"; // Paragraph break
find.Replacement.Text = replacementText;
find.Forward = true;
find.Wrap = Word.WdFindWrap.wdFindStop;
find.Format = false;
find.MatchCase = false;
find.MatchWholeWord = false;
find.MatchWildcards = false;
find.Execute(Replace: Word.WdReplace.wdReplaceAll);
foreach (Word.Paragraph paragraph in document.Paragraphs)
{
paragraph.Range.set_Style(Microsoft.Office.Interop.Word.WdBuiltinStyle.wdStyleEmphasis);
}
this.undoRecord.EndCustomRecord();
< /code>
Я сделал образец проекта в Github, чтобы воссоздать эту проблему. Вы можете построить образец GitHub и попытаться воссоздать проблему. Ниже приведены шаги отдыха. < /P>
Добавьте несколько параграфов в документ < /li>
Добавить число или пулю из меню нумерации. Действия были предприняты в документе без пуль или нумерации, отменить стек будет невредимым и будет работать должным образом. Как правильно внедрить пользовательские записи отмены в этом сценарии?
Подробнее здесь: https://stackoverflow.com/questions/797 ... eaks-after
Проблема с UndoreCord.StartCustomRecord в VSTO надстройке: отменить разрывы стека после пули/нумерации ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Selenium не может взаимодействовать с элементами панели задач в надстройке Outlook
Anonymous » » в форуме Javascript - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-