dポイントプレゼントキャンペーン実施中!

VBAProjectに、「テスト」というモジュール
が存在すれば、メッセージ「テストモジュールは
存在しています」

という、処理をエクセルVBAで記述したいです。

上記の処理はVBAで記述することはできるの
でしょうか?

A 回答 (3件)

Office のバージョンはいくつでしょうか?


Excel 2003 および Excel 2007 で
Visual Basic プロジェクトへのアクセスをプログラミングにより
許可すると実行時エラーが表示される場合がある
http://support.microsoft.com/kb/813969/ja

2002 でもサービスパック3かな?の適用で、VBA Project への
アクセスは出来なくなっています。
オプション設定を変更すれば出来るようになりますが
VBAからの変更は出来ませんでした。
マクロウィルス対策のためなのであたりまえでしょうけど・・

質問者さんだけがチェックを行いためだけなら問題ないのでしょうけど
他の人のセキュリティレベルを変更するのはいかがなものかと。

以前の回答ですがこれとOffice Tanaka さんのを調整すれば出来るかな?
http://oshiete.goo.ne.jp/qa/2702088.html
    • good
    • 0

私の場合「変更」と言うモジュール名があります。

これでテストした例。
Sub test01()
Dim vb0
fnd = "n"
For Each vbo In ActiveWorkbook.VBProject.VBComponents
If (vbo.Type = 1 Or vbo.Type = 2) And vbo.Name <> "VBE" Then
i = i + 1
MsgBox "モジュール名(" & i & ") = " & vbo.Name
If vbo.Name = "変更" Then
fnd = "y"
End If
End If
Next
If fnd = "y" Then
MsgBox "module名=変更は あり"
Else
MsgBox "module名=変更は ない"
End If
End Sub
ーー
http://officetanaka.net/excel/vba/vbe/04.htm
からすれば Or vbo.Type = 2の部分は不要かも。
1 標準モジュール
2 クラス モジュール
    • good
    • 0

Office TANAKA


CodeModuleのプロパティ
http://officetanaka.net/excel/vba/vbe/05.htm

上記のページの最後にある

すべてのプロシージャ名を取得する例

のところを参考にしてみてください
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A