I-cursorがメソッドを実行する瞬間にオブジェクトを取得できるソリューションを探しています(メソッドはリボンのボタンで実行されます)。 Word 2010で)。C#OfficeがI-Cursorのオブジェクトを取得する
ケース: RichTextContentControl要素があります.I-Cursorをテキスト内に置いてマウスで押すと、RichTextContentControl要素が表示されます。次に、リボンからのメソッドボタンを押した後、それはいくつかのアクションI-カーソルがあった場所、特定RichTextContentControl要素を取得し、実行する必要があります。
internal void addLock(Object sender) //object as RichTextContentControl where I-cursor was!
{
sender.LockContents = true;
sender.LockContentControl = true;
}
をこれまでのところ、私は上記のことをしようと、いくつかのreasearchをしましたが、それを唯一私がマウスI-カーソルがあった場所、は(入力カーソル)ではないで押されたリボンからボタンの種類を提供します。
私は誰かが同様の問題とそのためのいくつかのヒントを持っていた願っています。
編集:
私は次のコードで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");
}
}
は、どのように私は私のカーソルがに、ここで私は、それぞれクリックしたリッチテキスト要素に対応することができ、「これ。」 ?
これはVSTOソリューションですか?これを試しましたか?アプリケーション選択?システム.__ comobjectおよびその特定のではないrichtextcontrolelementを:はい、私はそれを試してみましたし、私は戻って取得 –
(this.ApplicationはVSTOソリューションが実行されているWordアプリケーションを返す必要があります)。 – knnhcn
は実行時に、すべてのWordを使用すると、 'システム.__ comobject'として報告されますと相互に作用しているオブジェクト。 'this.Application.Selection'の上にカーソルを置くと、** Dynamic View **のオプションが表示されるはずです。 –