Я ищу решение, где я могу получить объект, где I-курсор находится в момент запуска метода (метод запускается с помощью кнопки из ленты в Word 2010).C# Office, получающий объект, где I-Cursor
Корпус: Элемент RichTextContentControl, когда я нажимаю на него мышь, I-Cursor остается в тексте. Затем, после нажатия кнопки метод с ленты, он должен считать, что определенный RichTextContentControl элемент, где I-курсор был и делать какие-то действия:
internal void addLock(Object sender) //object as RichTextContentControl where I-cursor was!
{
sender.LockContents = true;
sender.LockContentControl = true;
}
До сих пор я пытался с этим выше и сделал некоторые Reasearch, но только дает мне тип кнопки из ленты, которую я нажал с помощью мыши, не там, где был I-Курсор (ввод текста).
Надеюсь, у кого-то были подобные проблемы и некоторые намеки на это.
Edit:
Я генерации RichTextContenControlElement со следующим кодом:
public partial class ThisAddIn
{
private RichTextContentControl richTextControl = null;
private int index = 0;
internal void SetRichTextControlOnDocument()
{
Document vstoDocument = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
index++;
string name = "MyRichTextBoxControl_"+System.Convert.ToString(index);
Word.Selection wordSelection = this.Application.Selection;
if (!string.IsNullOrEmpty(wordSelection.Text.ToString()))
{
Word.Selection selection = this.Application.Selection;
if (selection != null && selection.Range != null)
{
this.richTextControl = vstoDocument.Controls.AddRichTextContentControl(selection.Range, name);
this.richTextControl.LockContentControl = true;
this.richTextControl.LockContents = true;
}
}
else
{
MessageBox.Show("No text was selceted to lock!", "Error");
}
}
Как я могу обратиться к RichText элемент, который я нажал на, соответственно, где я курсор, с «это.» ?
Является ли это решение VSTO? Вы пробовали это. Assetition.Selection? (this.Application должен вернуть приложение Word, в котором работает решение VSTO) –
Да, я пробовал это, и я возвращаюсь: system .__ comobject и не тот определенный richtextcontrolelement. – knnhcn
Во время выполнения все объекты Word, с которыми вы взаимодействуете, будут представлены как 'system .__ comobject'. Если вы наводите курсор на 'this.Application.Selection', вы должны увидеть опцию ** Dynamic view **, которая может быть полезна. –