問題タブ [add-in]
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# - VSTO 2005 SE を使用して C# Excel アドインで Excel 2003 UDF を作成する方法
VBA を使用して VSTO マネージ コードで Excel UDF を作成する方法に関する記事を見ました: http://blogs.msdn.com/pstubbs/archive/2004/12/31/344964.aspx。
ただし、VSTO 2005 SE を使用して C# Excel アドインでこれを機能させたいのですが、誰か助けてもらえますか?
Romain が指摘した手法を試しましたが、Excel を読み込もうとすると、次の例外が発生します。
カスタマイズ アセンブリが見つからなかったか、読み込めませんでした。ドキュメントを編集して保存することはできます.....
詳細:
.net - プラグインが vb.net Express で動作しない
vb c# studio Express で動作しないプラグインは何ですか?
vb.net - Microsoft Office 用 .NET アドインの単体テスト
マネージド アプリケーション アドイン for Office の単体テストに関する提案はありますか? 私は NUnit を使用していますが、MSTest でも同じ問題がありました。
問題は、Office アプリケーション (私の場合は Word) 内に読み込まれた .NET アセンブリがあり、.NET アセンブリのそのインスタンスへの参照が必要なことです。オブジェクトをインスタンス化することはできません。これは、実行する Word のインスタンスがないためです。
これで、Application.COMAddIns("Name of addin").Object インターフェイスを使用して参照を取得できますが、これは RequestComAddInAutomationService を通じて返される COM オブジェクトを取得します。これまでの私の解決策は、テストしたい実際の.NETオブジェクトのすべてのメソッドに対して、そのオブジェクトにプロキシメソッドを持たせることです(すべて条件付きコンパイルで設定されているため、リリースされたバージョンでは消えます)。
COM オブジェクト (VB.NET クラス) には、実際には実際のアドインのインスタンスへの参照がありますが、それを NUnit に返そうとしたところ、適切な p/Invoke エラーが発生しました。
System.Runtime.Remoting.RemotingException : このリモート プロキシにはチャネル シンクがありません。これは、リッスンしている登録済みサーバー チャネルがサーバーにないか、このアプリケーションにサーバーと通信するための適切なクライアント チャネルがないことを意味します。System.Runtime.Remoting.Proxies.RemotingProxy.InternalInvoke (IMethodCallMessage reqMcmMsg、ブール値の useDispatchMessage、Int32 callType) で(MessageData& msgData、Int32型)
メインのアドイン COM を表示できるようにしてみましたが、エラーは次のように変化します。
System.InvalidOperationException : オブジェクトの現在の状態のため、操作は有効ではありません。System.RuntimeType.ForwardCallToInvokeMember (文字列 memberName、BindingFlags フラグ、オブジェクト ターゲット、Int32 [] aWrapperTypes、MessageData & msgData) で
回避策はありますが、面倒で、テスト プロジェクトではなく実際のプロジェクトに多くのテスト コードを配置します。これは、NUnit が実際に動作する方法ではありません。
c# - 埋め込み Outlook ビュー コントロール
Windows XP SP3 および Internet Explorer 7 で Visual Studio 2008 を使用して Outlook 2003 アドインを作成しようとしています。
私のアドインは、Outlook ビュー コントロールをラップするカスタム フォームを表示するカスタム フォルダ ホーム ページを使用しています。
OVC の Folder プロパティを設定しようとすると、毎回「HRESULT からの例外: 0xXXXXXXXX」という記述で COM 例外が発生します。エラーコードは乱数で、毎回異なります。コントロールのプロパティへの最初のアクセスではありません。その前に、View および ViewXML プロパティが既に設定されています。コントロールは、スクリプトを実行しても安全であるとマークされています。
アクティブなエクスプローラーの CurrentFolder.FolderPath プロパティの値を使用していますが、これは正しいようです。
これはスタック トレースの先頭です。
これは、フォルダがデフォルト以外の PST ファイルにある場合にのみ発生します。デフォルトの PST ファイル内のフォルダーに変更しても、例外は発生しません。
私は休暇に行く前にすべてがうまくいったことを強調しなければなりません:)。Windows XP は、不在中に Internet Explorer または Outlook 2003 の既定のセキュリティを変更する更新プログラムをインストールしたようです。
Office 2007 と Internet Explorer 6 を使用するもう 1 つの (仮想マシン) では、更新を行わなくても、すべて正常に動作しています。
c# - プロジェクトで変数がプログラムで使用されているかどうかを確認するにはどうすればよいですか?
VB.NET (または C#) では、クラス helper.vb のパブリック変数がプロジェクト内のどこかで使用されているかどうかをプログラムで判断するにはどうすればよいですか?
c# - 不明な Outlook メール項目エントリ ID
私の Outlook アドインは、メール アイテムのカスタム フォームを表示するために、Inspector オブジェクトの NewInspector イベントを処理します。
イベントのパラメータとして渡される Inspector オブジェクトの CurrentItem の EntryID を取得できます。しかし、問題は、現在のメール アイテムの EntryID が本来よりも短く、不明であることです。作成されたすべてのメール アイテムのすべての EntryID を知っており、特定のメール アイテムの EntryID が間違っていることがわかります。
なにが問題ですか?
c# - COMコンポーネントをリリースする
Marshal.ReleaseComObject(..)を呼び出して、COMコンポーネントが不要になったときに、Office PIAからCOMコンポーネントを解放する必要が本当にありますか?
このトピックに関するさまざまな矛盾したアドバイスをWebで見つけました。私の意見では、Outlook PIAは常にインターフェイスへの新しい参照をメソッドからの戻り値として返すため、明示的に解放する必要はありません。私は正しいですか?
excel - .xla ファイルのみのコードを使用して、Excel VBA からファイルを GZip 圧縮するにはどうすればよいですか?
Excel VBA 関数でファイルを GZip 圧縮できるようにする必要があります。具体的には、'deflate' アルゴリズムを使用できるようにする必要があります。
コマンドラインアプリケーションを実行せずにこれを行う方法はありますか? 外部ツールに依存しないため、コードはより堅牢になります。
理想的には、コードはプリインストールされた VBA または COM ライブラリ関数を使用します。このロジックを自分で実装したり、DLL をインストールしたりする必要はありません。
可能であれば、利用可能な Excel アドインに .xla を追加するだけで機能を簡単にインストールできるようにしたいと考えています。DLL、EXE、レジストリ エントリなどは必要ありません。
編集これを行うために.NET GZipStreamを利用できますか?
c# - .NET 3.0のアドインフレームワークをどのように利用できますか?
独自のアプリケーション用のアドインを作成および使用する方法に関して、.NET3.0にはいくつかの更新があります。アドインとホストアプリケーション間の通信用に作成する必要のある「パイプライン」について読みましたが、それ以上の情報を見つけることができませんでした。
.NET 3.0 / 3.5を使用するアプリケーションで、どのようにアドイン機能を作成しましたか?
必要に応じて追加情報:ホストアプリケーションは、WPFといくつかの一般的な機能で作成されています。各アドインは、独自のコンテンツ(ボタン、テキストフィールドなど)とホストアプリケーションを拡張するメソッドを備えた独自のレジスタタブを特定のコンテナに追加する必要があります。
vb.net - Visual Studio 2005 for VB のリファクタリング機能
Visual Studio 2005 で VB のリファクタリング機能を利用できる無料の優れたアドインを知っている人はいますか?