問題タブ [customtaskpane]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
191 参照

c# - パラメータ/デリゲートによって送信されたクラスのインスタンスを作成します

デリゲートを使用するか、クラス インスタンスをパラメーターとして使用して、コードを少し最適化しようとしています。私はC#にかなり慣れていませんが、そもそも正しい軌道に乗っていると仮定すると、どちらがより良いアプローチなのかまだわかりません。しかし、私の問題は、クラスインスタンスをパラメーターとして送信することに関連しています。説明させてください。私はこのロジックに従おうとしていますが、失敗しています....
いくつかのボタンでVSTOリボンを作成しました。次のよう
リボン
になります。ボタンに機能を追加しようとしているので、各ボタンをクリックすると新しい TaskPane が開きます。

Calendarメモにあるリボンボタン用にこのコードを書きましたGSMRibbon.cs 。経験豊富なプログラマーにとって、このコードは非常に理解しやすいと思いますが、何か理解できない場合は、コメントでお知らせください)。

Ok。私がやりたかったのは、classパラメーターを追加して CreateTaskPane 関数を変更することでした (これは意味がありますか?)。これにより、リボンのさまざまなボタンに対してこの関数を複数回再利用できます。Viewボタンごとに個別に を作成しましたが、 を渡す方法がわかりませんView
だから、私はこのようなものの後:(CalendarViewはビューの名前です)

そして次のような関数:

私が何をしようとしているのか、自分ではできないことを理解していただければ幸いです。助けていただければ幸いです。ありがとう

0 投票する
0 に答える
331 参照

.net - MS Office 共有アドイン: ICustomTaskPaneConsumer.CTPFactoryAvailable と IRibbonExtensibility.GetCustomUI が呼び出されないのはなぜですか?

私たちは PowerPoint 用の共有アドインをプログラミングしており、そこに and を実装IRibbonExtensibilityICustomTaskPaneConsumerています。アドインは、HKCU で関連するキーと値を設定することにより、個々のユーザーに対して登録されます。

  • \Software\Microsoft\Office\PowerPoint\Addins\
  • \ソフトウェア\クラス\
  • \ソフトウェア\クラス\CLSID\
  • \ソフトウェア\クラス\TypeLib\
  • \ソフトウェア\クラス\Wow6432Node\
  • \Software\Classes\Wow6432Node\CLSID\
  • \ソフトウェア\クラス\Wow6432Node\TypeLib\

ほとんどすべてのユーザーにとって問題なく動作していますが、メソッドIRibbonExtensibility.GetCustomUIとメソッドICustomTaskPaneConsumer.CTPFactoryAvailableが呼び出されない場合もあります。ただし、IDTExtensibility2 を実装するメソッドはすべて実行されます。残念ながら、ユーザーのコンピューターにアクセスすることはできず、開発またはテスト マシンで動作を再現することはできません。

どの状況がこの状況につながる可能性がありますか?

ありがとう、ファブ

0 投票する
3 に答える
7562 参照

ms-word - VSTO Word アドインで複数のドキュメントのカスタム作業ウィンドウを作成および管理する

Visual Studio 2008 で VSTO を使用して Word 2007-2010 アドインを開発しています。私のアドインでは、開いている Word ドキュメントごとにカスタム作業ウィンドウが必要です。基本的に、ドキュメントごとに作業ウィンドウを作成し、ドキュメント ウィンドウに適切な作業ウィンドウを表示し、ドキュメントを閉じるときに何かを実行してから、作業ウィンドウとその作業ウィンドウへのすべての参照を削除する必要があります。

これは私がこれまでに行ったことです:

タスク ペインの作成

次のように、新しいドキュメント、開いたドキュメント、または既存のオンロード ドキュメントごとにカスタム タスク ペインを作成します。

CreateTaskPaneWrapper メソッドで、ドキュメントの作業ウィンドウが既に存在するかどうかを Dictionary<Document, TaskPaneWrapper> で確認します。これを行うのは、既に開いているドキュメントを開こうとすると open イベントが発生するためです。存在しない場合は、新しい TaskPaneWrapper クラスを作成します。そのコンストラクターで、新しい作業ウィンドウを作成し、CustomTaskPanes コレクションに追加します。

MSDN によると、これにより作業ウィンドウが現在アクティブなウィンドウに関連付けられます。

タスク ペインのシャットダウン

Document.Close と Application.DocumentBeforeClose の両方のイベントは、ユーザーがドキュメントを閉じる確認を行う前に発生するため、私には適していません。そこで、次のように TaskPaneWrapper クラスで Microsoft.Office.Tools.Word.Document.Shutdown イベントを使用します。

これらはすべてうまく機能しているようで、作業ウィンドウが作成され、対応するウィンドウにバインドされ、正常に削除されます。ただし、まだ問題が 1 つあります。Word を起動すると、空白の文書が開きます。次に、空白のドキュメントを変更せずに既存のドキュメントを開くと、Document.Close、Application.DocumentBeforeClose、および Microsoft.Office.Tools.Word.Document.Shutdown イベントが発生することなく、空白のドキュメントとそのウィンドウが削除されます。OnShutdown は呼び出されず、空白のドキュメントの作業ウィンドウは削除されないため、次のドキュメント ウィンドウには 2 つの作業ウィンドウ (非常に新しい作業ウィンドウと最初の (孤立した) 作業ウィンドウ) が含まれます。この孤立した作業ウィンドウを削除するにはどうすればよいですか? 削除されたドキュメントまたはウィンドウ参照にアクセスすると、COMException ("オブジェクトが削除されました") がスローされます。私は一時的にこのハックを使用しています:

CreateTaskPaneWrapper メソッドで、既存のすべてのラッパーについてこのプロパティをチェックし、プロパティが false のラッパーをシャットダウンします。もちろん、例外をキャッチするのはいくらかコストがかかります。この解決策はかなりハックなので、もっと良い方法はないかと考えていました。この質問では CustomTaskPane.Window プロパティが null かどうかチェックされますが、null が返されることはありません。

また、現在のロジックを使用して遭遇する可能性のある他の問題はありますか? 複数のドキュメントの複数の作業ウィンドウを管理する一般的な方法は何ですか?

0 投票する
0 に答える
164 参照

javascript - リソースの予定表の例外にアクセスする方法 - Office アドイン開発、Microsoft Project

リソース カレンダーの例外にアクセスしてユーザーに表示できる Office タスクペイン アプリを作成しようとしています。

リソースにアクセスできました。多くのフィールドを取得できますが、カレンダーの例外は取得できません。これらは Resource オブジェクトではなく、別の場所に直接保存されているようです。

いくつかのコード スニペット:

次に、この ID を使用して、選択したリソース フィールド (名前、コスト、作業など) を取得し、HTML タスクペインのテキスト フィールドに表示します。例 :

この ResourceCalendarGUID を使用して、例外が保存されているリソースの一意のカレンダーにアクセスしたいと思います。これらの例外を、HTML タスクペインのテキストフィールドを介してエンドユーザーに表示したいと思います。

お時間をいただきありがとうございます!

0 投票する
2 に答える
126 参照

c# - Win 7 では CustomTaskPane が表示されず、開発マシンでは表示される

EXCEL 2013 アドインを作成しました。これは私の開発マシンで正常に実行されています。この同じマシンに Click-Once 配置を使用して、このアドインをインストールできます。一般に、このアドインは、Visual Studio から起動する場合でも、プロジェクトをクリーンアップする場合でも、コントロール パネルからアンインストールする場合でも、クリック 1 回の展開からインストールする場合でも、自分のマシンで完全に動作します。

実行されていない場合の症状は、アドインのリボン タブが実際に問題なく表示されることです。このリボン タブには、CustomTaskPane を表示するボタンがあります。Windows 7 を搭載したユーザーのマシンにこれをインストールした場合にのみ、リボン タブは表示されますが、ボタンは何もしません。

アドインを変更して、起動時に CustomTaskPane が自動的に表示されるようにしました。Windows-7 ユーザーには表示されません。

マシンのアプリケーション ログを調べましたが、関連する問題は見つかりませんでした。これをさらにデバッグする方法について何か提案はありますか?