問題タブ [vsto]
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.
c# - C# テクニック - 文字列による定数値の取得
「xlSum」、「xlAverage」、「xlCount」などの文字列を Microsoft.Office.Interop.Excel.XlConsolidationFunction の値に変換する良い方法はありますか?
反射が遅くなると思います(可能であれば)。これらの定数値は約 10 個あります。可能であれば、大きな switch ステートメントを避けようとしていました。
.net - トラブルシューティング:Wordコードビハインドを介してカスタムコードを呼び出すときに、参照されているアンマネージdllが見つかりません
コンテクスト:
- D:\ WordAutomation \ MyApp_Source \ Executables\MyAppフォルダーに特定のアンマネージDLLを使用するWPFアプリがあります。exeをダブルクリックすると、すべてが実行されます。
- 次に、Word 2007の分離コードプロジェクトがあります。このプロジェクトは、上記のフォルダー内の関連するマネージDLLを参照し、同じことを実行しようとします。アプリUIを起動します。適切な「マチェット」の後、UIが表示されます。しかし、現在、FileNotFoundExceptionで一貫して爆発するアンマネージdllの1つを強制的にロードするユーザーアクションがあります(どのファイルが欠落しているかのヘルプ/表示はありません)
問題のある行にブレークポイントを設定し、出力ウィンドウをクリアし、F10キーを押して、その行を実行したときの出力を比較しました(ObservableCollectionにオブジェクトを追加します。そのCollectionChangedハンドラーには、管理されていない部分をロードするコードがあります)
ケース1:EXEをダブルクリックします。これは完全に機能します(わずかに切り取られています)
ケース2:同じ行を実行しますが、Wordコードビハインド.csファイル内から起動します
私が試してみました
- アンマネージDLLを(word doc + VSTO dll)と同じフォルダーに追加する
- フォルダをPATH環境変数に追加しました。まだ同じ。
- 私が考えることができるものは何でも..過去数日間
以下のスニペットに示すように、Wordがマネージドrefアセンブリをコピーしているように見えます。これは調査の行である可能性があります。しかし、なぜこれを行うのか、そしてそれがアンマネージDLLをどのように解決するのか..わかりません。また、最初のスニペットには、WinSXSパスからロードされたDLLがいくつかあり、これも別のリードになる可能性があります。
最後に優雅に締めくくります...助けて!
outlook - Outlook(2003) msgfile 拡張子のレジストリ値は何を表していますか?
拡張子が .msg の msg 電子メール ファイルを開く場合、Outlook 2003 がいくつかのパラメータで起動されます。したがって、次のレジストリ キーを見つけることができます。
最初のものは、パラメーター /f "%1" で "outlook.exe" を指しています。これにより、Outlook が起動し、メールを開くための情報が表示されます。ただし、「コマンド」キーには次の値があります。
これが何に適しているのか、誰か教えてもらえますか?
これらのキーを変更する必要がある vsto Outlook アドインを作成しています。「標準」キーを変更した場合、変更したキーを使用しなくても Outlook は正常に起動します。「command」キーも変更すると、Outlook が起動しなくなります。
「コマンド」キーを削除した場合にのみ、すべてが正常に機能します。しかし、鍵が何に役立つかを知らなければ、これは解決策にはなりません。
vsto - VSTO "値が期待される範囲内にありません。"
VS で VSTO (Visual Studio Tools for Office) プロジェクトをコンパイルするとエラーが発生します。
「値が期待される範囲内にありません」と表示されます。「インストール中にエラーが発生しました」
vba - Excel VBA または VSTO - ピボットテーブルのフィールドをどのようにループしますか?
サンプル VBA コードを次に示します。
3行目は不完全/壊れています。ピボットテーブル内のすべてのフィールドのコレクションにアクセスする正しい方法は何ですか? それらをループできる必要があります。実際のコーディングは C# VSTO Project で行っています。
outlook - 会議用 Outlook VSTO アドイン
Outlook 会議用の VSTO アドインを作成しました。
この一環として、イベントSendEvent
のメッセージをトラップします。FormRegionShowing
次に、メソッド_apptEvents_Send
はいくつかのプロパティをテストし、必要に応じて終了します。
私たちが抱えている問題は、一部のユーザーのメッセージが 2 回送信されることです。1 回目は会議の送信時、2 回目はユーザーが Outlook を再度開いたときです。
何かが適切に破棄されていない可能性があると考えて、メモリ リークを探し、リソースが管理されていることを確認するためにすべての最終呼び出しに明示的なオブジェクト破棄を追加しましたが、それでも組織全体で一貫性のない機能を取得しています。つまり、開発中に問題に遭遇したことはなく、テスト中に他の開発者も遭遇しませんでした。すべてのユーザーは、フレームワーク (3.5 SP1) と Outlook の修正プログラムを最新の状態にしています。
これを引き起こしている可能性のあるものについて何か考えがある人はいますか?
誰もが持っているかもしれないアイデアは大歓迎です。
vb.net - VSTO 2005 SE Outlook アドインをクラッシュさせて無効にする方法は?
テスト目的で、Outlook 2003 アドイン (vb.net) を無効にして、ヘルプ メニューを使用するか、レジストリ内から回復キーを削除することによってのみ再アクティブ化できるようにする必要があります。
起動イベント ハンドラ中に未処理の無効なキャスト例外を作成してこれを達成しようとしましたが、これは役に立ちません。Outlook は、アドインを読み込めなかったとだけ言っていますが、無効にはしていません。
アドインを無効にするクラッシュを作成するにはどうすればよいですか?
excel - Excel の数式から VSTO 関数を呼び出すにはどうすればよいですか?
Excel ワークシートのセルから VSTO アドインによって公開された関数を呼び出せるようにしたいと考えています。より具体的には、「バー」を返す VSTO 関数 Foo() がある場合、計算で「バー」に評価される A1 に =Foo() を記述できるようにしたいと考えています。
これは可能ですか?必要な主な手順は何ですか?
マネージド コードと VS08 IDE を Excel 開発に活用できるという見通しは、非常に魅力的です。VSTO を使えば簡単にできると思っていましたが、よくわかりません。ここでアーキテクチャを誤解していますか? ドキュメントは少し粗雑です。
.net - トラブルシューティング: MS-Word VSTO アドインからのマネージ DLL のアセンブリ解決
という名前のコード ビハインド dll を含む MS-Word VSTO ドキュメントがあります。WordDocument1.dll
プロジェクト フォルダー D:\Work\Seven\WordAutomation\ContentControls\WordDocument1\bin\Debugその下のフォルダー
にいくつかのカスタム コードをコピーしました。MyAppExecs
DLL には、コード内のコードにMyAppExecs
到達できるように指定されたプライベート ビン パスがあります。
そのため、起動時に、ダイアログをポップアップするフォルダーStarter.DLL
にロードします。MyAppExecs
ただし、ダイアログのボタンをクリックすると、X.DLL
管理されていない依存関係を持つ をロードする必要があります。(X.DLL
マネージ C++ がいくつかあり、追加の依存関係として指定されたライブラリがいくつかあります。X は署名されておらず、プライベート アセンブリであり、GAC ではありません)
ただし、X.DLL は解決できません。fuslogvw
ツールから、この DLL を Office12 フォルダーにロードしようとして失敗していることがわかります。私もProcMon
実行していますが、管理されていない依存ファイルが見つからないというエラーは表示されません。
- に存在する X.Dll を Word Executable に表示させるにはどうすればよい
D: \Work\Seven\WordAutomation\ContentControls\WordDocument1\bin\Debug
ですか?
Starter.DLL
また、 で問題なくロードできる{ProjFolder}\MyAppExecs
のに、 でファイルが表示されないのは奇妙に思えます{ProjFolder}
。
fuslogvw
出力は次のとおりです。
Update#1 : 症状は解決しましたが、問題の原因を特定できませんでした。Assembly.load を介してアセンブリを手動でロードしました。ただし、上記のアセンブリ解決エラーがログに記録され続け、機能しませんでした。最後に、必死に{ProjFolder}\MyAppExecs
なって、すべての DLL が 1 つのフォルダーに格納され、機能するように、Word プロジェクトの DLL をコピーしました。
から実行すると、管理されていない依存関係X.dll
が解決されていないように見えますが{ProjFolder}...
、ProcMon
その兆候は見られません。PATH 変数も更新して include を含めまし{ProjFolder}\MyAppExecs
たが、うまくいきませんでした。
したがって、すべてを1つのフォルダーにコピーするとうまくいきました。X.dll
私のコードではないので、これ以上調べることはできませんでした。
c# - Excel 相互運用 - 効率とパフォーマンス
ワークシートで多くのことが行われていると非常に遅くなる可能性があるため、Excelオートメーションのパフォーマンスを向上させるために何ができるか疑問に思っていました...
ここに私が見つけたいくつかがあります:
ExcelApp.ScreenUpdating = false
-- 画面の再描画をオフにしますExcelApp.Calculation = Excel.XlCalculation.xlCalculationManual
-- 計算エンジンをオフにして、セルの値が変更されたときに Excel が自動的に再計算しないようにします (完了したらオンに戻します)。Worksheet.Cells.Item(row, col)
and の呼び出しを減らすWorksheet.Range
-- 必要なセルを見つけるために、何百ものセルをポーリングする必要がありました。セル位置のキャッシュを実装することで、実行時間が ~40 秒から ~5 秒に短縮されました。
パフォーマンスに多大な影響を与え、避けるべき相互運用呼び出しにはどのようなものがありますか? 不必要な処理が行われないようにするために他に何ができますか?