質問: msg.testmessage() end function 1)開発端末で実行 期待値「テストメッセージ取得」が表示される。 2)試験端末で実行 インストーラでdll、tlb、ブックファイルをインストール。 ブックファイルを開き、vbaスクリプトをデバッグしたところ、 「activexコンポーネントはオブジェクトを作成できません」のエラーメッセージが表示される。 ※セキュリティレベルは中、参照設定でc#で作成したtlbは参照済み。 デバッグ時のカーソルは『msg.testmessage()』のラインで止まっている また、『dim msg as new test.』まで入力すると、『testclass』が入力候補として 表示されるため、tlbの参照は問題ないと思われる。 ■質問内容 開発環境ではビルド時にcomの設定が正しく行われているため、期待通りの結果になりましたが、 試験環境ではcomの設定に相当することができていないため、今回のエラーに至ったと推測しています。 c#で作成したdllをexcelのvbaで利用し、かつ配布したい場合、 配布先の端末に対してどのような処置が必要でしょうか? .netframework以外に同梱が必要なコンポーネントやインストール時に必要な設定などないでしょうか? また、お気づきの点がありましたら合わせてご指摘いただければ幸いです。
回答: ちょっと最近プログラミングから離れているのでうろ覚えですが、.コード アクセス セキュリティが邪魔してませんか。 ,netを配布するときにはそちらの設定を含めないと駄目だったようなj気がします。 やり方は忘れたのそれで調べてみてください。