Я использую 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#
Место общения программистов C#
1756078700
Anonymous
Я использую UndoreCord.StartCustomRecord в [b] microsoft.office.interop.word [/b] для создания пользовательских записей Undo в моем надстройке VSTO. Тем не менее, я столкнулся с некоторым неожиданным поведением, которое делает слово undo stack непригодным. UndoreCord.StartCustomRecord и undoreCord.endCustomRecord .
[b] проблема [/b]:
, когда я пытаюсь выполнить эти пользовательские действия [b] после добавления пули или числа [/b], моя пользовательская запись не появляется в 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>
Добавить число или пулю из меню нумерации. Действия были предприняты в документе без пуль или нумерации, отменить стек будет невредимым и будет работать должным образом. Как правильно внедрить пользовательские записи отмены в этом сценарии?
Подробнее здесь: [url]https://stackoverflow.com/questions/79745231/issue-with-undorecord-startcustomrecord-in-vsto-add-in-undo-stack-breaks-after[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия