c# Надстройка Outlook принудительно перемещает курсор в конец тела письма - PullRequest
4 голосов
/ 09 марта 2020

Я добавляю таблицу в тело письма программно. Я хотел бы переместить курсор ниже таблицы после вставки. Я пробовал SendKeys.Send ("{PGDN 10}") и добился определенного успеха, но я не уверен, что это лучший способ приблизиться к нему.

Есть ли другие способы? принудительно переместить курсор вниз до конца тела письма?

1 Ответ

1 голос
/ 10 марта 2020

Офисная модель позволяет вам извлекать объект WordEditor, если у вас есть доступ к объекту MailItem. Когда у вас есть объект WordEditor, вы можете выполнить Range и выбрать, чтобы поместить курсор в указанную c позицию в документе. Возможно, есть более простой способ, но это быстрый пример.

var editor = oMailItem.GetInspector.WordEditor;
editor.Range(1,1).Select();

Редактировать

Если вы хотите установить курсор на последнюю позицию в тело до подписи, вы можете сделать что-то вроде образца ниже.

var originalBody = oMailItem.HTMLBody;
oMailItem.HTMLBody = newBodyHTMLStringCompiled;
var wordDocument = oMailItem.GetInspector.WordEditor;
var endingPosition = wordDocument.Content.End;

// This will append the original signature
oMailItem.HTMLBody += originalBody;

// Set the range for the cursor
wordDocument.Range(endingPosition, endingPosition).Select();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...