投稿日 | : 2005/08/29(Mon) 18:57 |
投稿者 | : KIRIRI |
Eメール | : |
URL | : |
タイトル | : VBからエクセルVBAを登録 |
いつもお世話になっています。
VB6 SP6 EXCEL2000
で作成しています。
1.VBからエクセルファイルを新規作成し
2.Sheet1へコマンドボタンを配置し
3.コマンドボタンを押したときの処理をエクセルVBAへ書く
というプログラムを作成しています。
1と2は問題なくできるのですが
3でVBAへ処理を書き込む際に標準モジュールへ書き込んでいます。
そのせいか、作成したエクセルファイルのコマンドボタンを押しても
3の処理を実行しません。
試しに、エクセルVBAにて3の内容をSheet1へコピペしたところ上手くいきましが
VBからSheet1のVBAへ書く方法がわかりませんでした。
クラスモジュールやフォームへの方法ならあったのですが・・・
原因と対処法を教えていただけないでしょうか?
よろしくお願いします。
以下コードです。
Public xlVBE As Object 'VBIDE.VBE
Public xlMod As Object 'VBIDE.VBComponent
Public xlCode As Object 'VBIDE.CodeModule
※上記でAs Objectといているのは以前
hhttp://www.bcap.co.jp/hanafusa/vbbbs/wforum.cgi?mode=allread&no=3927&page=60
ということがあったためです。
Set xlVBE = xlApp.VBE
Set xlMod = xlVBE.VBProjects(1).VBComponents.Add(vbext_ct_StdModule)
Set xlCode = xlMod.CodeModule
xlCode.InsertLines 1, "VBAの内容を記述"