C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

vb.netで開発したクラスライブラリをExcelで参照設定

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■94203 / inTopicNo.1)  vb.netで開発したクラスライブラリをExcelで参照設定
  
□投稿者/ kumakuma (1回)-(2020/03/25(Wed) 05:29:18)

分類:[.NET 全般] 

vb.netで開発したクラスライブラリをExcelで参照設定する際の名称について

現在vb.net Fremework 4.5.2の環境にてExcel等Officeで参照可能なライブラリとして
クラスライブラリの開発を行っています。
質問なのですがOfficeの「参照可能なライブラリ」で表示されている名称と
vb.netでのアセンブリ名を分けることは可能でしょうか?

□現状
vb.net側
アセンブリ名  xxxLibrary
ルート名前空間 yyyLibrary
クラス名    class
dllファイル   xxxLibrary.dll
Excel側
参照可能なライブラリ xxxLibrary
vba記載時(1)
Dim c AS xxxLibrary.class
Set c = new xxxLibrary.class

vba記載時(2)
Dim c AS Object
Set c = CreateObject("yyyLibrary.class")

□したい事
vb.net側
「何かの設定」  xxx 1.0 Library
アセンブリ名  xxxLibrary
ルート名前空間 「任意」
クラス名  class
dllファイル  「任意」

Excel側
参照可能なライブラリ xxx 1.0 Library
vba記載時(1)※下記記載方式のみ
Dim c AS xxxLibrary.class
Set c = new xxxLibrary.class

vba記載時(2)※変更があっても構わいません。
Dim c AS Object
Set c = CreateObject("yyyLibrary.class")

試した事
1.アセンブリ名の変更→アセンブリ名を"xxx 1.0 Library"とした場合
Excel側の参照可能なライブラリでの表示は"xxx_1_0_Library"
vba記載時も"Dim c AS xxx_1_0_Library.class"となる

2.レジストリの変更→Excelの参照可能なライブラリで選択されていない場合のみ"xxx 1.0 Library"と表示
選択されている場合"xxxLibrary"とdllファイル上の値と思われる文字列で表示

3.ファイル内文字列を強引に変換→アセンブリ名を"xxx 1.0 Library"で作成後
dll上の文字列を"xxx_1_0_Library"から"xxx 1.0 Library"に書き換え登録。
Excel側の参照可能なライブラリでの表示は"xxx 1.0 Library"
ただしvba記載時(1)のとき"Dim c AS [xxx 1.0 Library].class"となる。

上記のようにしたい理由としては不特定多数の方への配布の際バージョンアップしても
1.vbaの記載変更は行わなくてよい
2.Excel側の参照可能なライブラリで確認した際バージョンを簡単にわかるようにしたい。
為です。

ご指導のほどよろしくお願いします。



引用返信 編集キー/
■94204 / inTopicNo.2)  Re[1]: vb.netで開発したクラスライブラリをExcelで参照設定
□投稿者/ kumakuma (2回)-(2020/03/25(Wed) 05:32:47)
すみません分類は「VB.NET/VB2005 以降」です

引用返信 編集キー/
■94206 / inTopicNo.3)  Re[1]: vb.netで開発したクラスライブラリをExcelで参照設定
□投稿者/ KOZ (99回)-(2020/03/25(Wed) 08:50:43)
No94203 (kumakuma さん) に返信
> 質問なのですがOfficeの「参照可能なライブラリ」で表示されている名称と
> vb.netでのアセンブリ名を分けることは可能でしょうか?

Excel の参照設定で表示される名称は、アセンブリ情報の「説明」になります。

MyProject フォルダの AssemblyInfo.vb に

<Assembly: AssemblyDescription("参照設定で表示される名称")>

という記述があるはずです。

ここが空だとアセンブリ名が入ってしまうようです。

引用返信 編集キー/
■94210 / inTopicNo.4)  Re[2]: vb.netで開発したクラスライブラリをExcelで参照設定
□投稿者/ kumakuma (5回)-(2020/03/25(Wed) 12:10:10)
2020/03/25(Wed) 12:10:40 編集(投稿者)

No94206 (KOZ さん) に返信
> ■No94203 (kumakuma さん) に返信
>>質問なのですがOfficeの「参照可能なライブラリ」で表示されている名称と
>>vb.netでのアセンブリ名を分けることは可能でしょうか?
>
> Excel の参照設定で表示される名称は、アセンブリ情報の「説明」になります。
>
> MyProject フォルダの AssemblyInfo.vb に
>
> <Assembly: AssemblyDescription("参照設定で表示される名称")>
>
> という記述があるはずです。
>
> ここが空だとアセンブリ名が入ってしまうようです。
>
KOZ さんありがとうございます。無事思った設定にできました。
これだけで2週間以上調べていましたので感動で思わず声が出てしまいました。
本当にありがとうございます。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ