質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

1回答

3537閲覧

Excel VBAでの参照設定からの表示削除

yakar

総合スコア1

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/04/29 00:40

Excel VBAにて参照設定に余分なDLLをいくつも作ってしまい、参照設定の中のリストから
削除したいのですが、チェックを外すだけではなくリストから消去したいと考えています。

レジストリの操作が必要な気もしますが、操作方法が分かる方がいましたら、
ご教授いただけると幸いです。

環境:Windows10、ExcelはExcelはMicrosoft365版

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

通常のCOMなら regsvr32
.NET製なら、Regasm を使用してください。

投稿2021/04/29 01:04

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yakar

2021/04/30 08:10

ご回答ありがとうございます。色々試みましたが削除ができない状況です。 参照設定に登録したDLLは、VB.NETより作成したものですので、Regasmで消去できると思いますが、 C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe /unregister hoge.dll C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe /unregister hoge.dll を実行すると、下記エラーが表示されます。 RegAsm : error RA0000 : 入力アセンブリ 'hoge.dll' またはその依存関係の 1 つが見つかりません。 ちなみに、regsvr32 /u hoge.dll を実行すると、 モジュール "hoge.dll"の読み込みに失敗しました。 が表示されます。 %homepath%\AppData\Roaming\Microsoft\AddIns にhoge.dllがあってもなくても同じようです。 解決方法がありましたら、コメントいただけませんでしょうか。よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2021/04/30 08:38 編集

hoge.dllの中で他のDLLを参照してませんか。
yakar

2021/04/30 08:34

コメントありがとうございます。 Excel VBAで使用できるDLLライブラリの作成を考えており、下記HPのコードをそのままコピーして VB.NETでDLLを作成し参照設定したため、ほかのDLLは使用していないと思いますがいかがでしょうか? https://excel.syogyoumujou.com/memorandum/dll_1.html それ以外に、以前Excelで作成した.xlamファイルを参照設定した、ライブラリファイル名も同様にエラーが表示され、リストから消去できない状況です。 もし何かわかりましたら、ご教授いただければ幸いです。よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2021/04/30 08:38

dllをフルパスで指定してみてください。
yakar

2021/05/01 12:57

コメントありがとうございます。 フルパスで確認しましたが削除できませんでした。 話が複雑になり申し訳ありませんが、 作成したdll自体がうまく動作していないことが分かったため(なぜかVisualStudioのフォルダのtlbファイルが設定されていました)、以前Excelファイルで作成した、正常動作している.xlamファイルの参照設定の削除を試みましたが、regasm, regsvr32いずれでも、参照設定のリストからリスト名を消去できない状況です。
退会済みユーザー

退会済みユーザー

2021/05/01 13:33 編集

/tlb と /u オプション同時に使うとどうなりますかね。 もしそれでもダメだったら、レジストリをファイル名かGUIDで直接検索して調査したり、自力でレジストリから削除するしかないかも。(レジストリ直操作は危険度高いので自己責任でお願いします)
yakar

2021/05/02 13:31

コメントありがとうございます。 作成したdllをregasmで登録し、Excelで参照設定してVBAでライブラリを使用できるようになりました。 そのライブラリを、 /unregister /tlbを両方つけて登録解除したところ、下記メッセージが表示され正しく解除されました。  型は正常に登録が解除されました。  タイプ ライブラリ '%homepath%部分\AddIns\hoge.tlb' を正しく登録解除しました。 しかし、Excelの参照設定からリスト名は消えない状況です。 (続けて、消えていない参照設定のリスト名にチェックを入れると「DLL読み取り時のエラーです。」が表示され再度regasmでの登録が必要。) 色々アドバイスいただきありがとうございました。ここまで分かりましたが、もう少し調べてみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問