0

C# で記述された Infopath 用の COM アドインに取り組んでいます。アドインは、カーソル下のテキストをコピーして処理し、書式設定された出力を貼り付けるボタンの形式になります。

ペーストを除いて、すべてが完璧に機能します。使用しているクリップボードに RTF として保存されているデータを貼り付けるには

this.Application.ActiveWindow.XDocument.View.ExecuteAction("Paste", Type.Missing);

これに関する問題は、フォントが台無しになることです (すべてが太字で表示されます)。クリップボードのデータは正しいです。

奇妙なことに、この行を削除して手動で貼り付け/Ctrl + Vを押すと、データが正しく貼り付けられるため、これを知っています。

要約すると、 ExecuteAction("Paste") != 手動で貼り付けます。手動の貼り付けアクションを「シミュレート」するには、何を使用できますか?

ありがとう

4

1 に答える 1

0

ここで説明されているように、コマンドバーを介して手動貼り付けをシミュレートしてみてください: http ://social.msdn.microsoft.com/Forums/en-US/sharepointcustomizationlegacy/thread/3c7f17ee-3c7c-4efd-9cbe-66b2f8f2c2d1

.View.Window.CommandBars.ActiveMenuBarそれらはインデックスに基づいて特定のコントロールに進みますがFindControl()、コマンドバーレベルで使用することにより、より堅牢にすることができる場合があります。

InfoPath 2010を使用している場合は、コマンドバーの代わりにリボンを使用する必要がある場合があります。

于 2012-11-02T13:42:00.327 に答える