tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルvbからexcelにマクロを装入するには?
記事No13246
投稿日: 2008/11/17(Mon) 14:04
投稿者のぶ
VB6で開発を行ってます。
vb6からExcelへデータを出力し、その出力先のExcelに
マクロを埋め込む事は可能でしょうか?
やりたいことは、Excelのシートの裏にあるシートイベント
に埋め込む事です。
excel で書けば↓のようになるのですが、VB側からこの様にExcelへ
書き込めるのでしょうか?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells(2, 4) = Cells(ActiveCell.Row, 4)
End Sub


もしわかる方いましたら ご教授お願いいたします。

[ツリー表示へ]
タイトルRe: vbからexcelにマクロを装入するには?
記事No13247
投稿日: 2008/11/17(Mon) 15:15
投稿者
> VB6で開発を行ってます。
> vb6からExcelへデータを出力し、その出力先のExcelに
> マクロを埋め込む事は可能でしょうか?
> やりたいことは、Excelのシートの裏にあるシートイベント
> に埋め込む事です。
> excel で書けば↓のようになるのですが、VB側からこの様にExcelへ
> 書き込めるのでしょうか?

あらかじめマクロを組み込んだExcelファイルを用意しておいて
それにデータを出力して、本来のファイル名に別名保存するのはダメなんですか?

[ツリー表示へ]
タイトルRe: vbからexcelにマクロを装入するには?
記事No13248
投稿日: 2008/11/17(Mon) 15:19
投稿者YuO
> vb6からExcelへデータを出力し、その出力先のExcelに
> マクロを埋め込む事は可能でしょうか?

可能です。
Dim wb As Workbook ' 対象となるWorkbook
Dim sheetName As String ' 対象となるシート名
Dim functionText As String ' 追加したいモジュールの内容
として,
wb.VBProject.VBComponents(sheetName).CodeModule.AddFromString(functionText)
とすればできます。

Microsoft Visual Basic for Application Extensibility
への参照設定を忘れずに。


なお,Office上で試す場合は,
http://support.microsoft.com/default.aspx/kb/282830/ja
も参考にして下さい。

[ツリー表示へ]
タイトルRe^2: vbからexcelにマクロを装入するには?
記事No13249
投稿日: 2008/11/17(Mon) 16:07
投稿者のぶ
琴様 返答ありがとうございます。
いつも作ってるプログラムで、データベースから出力し、必要あればExcelへ出力すると
いうのが多く、一つのプログラムにそれ専用のExcelファイルをつくるとファイルが多くなるので
汎用的にVB側からある程度簡単なマクロもふくめてプッシュできるようなファイルをつくれれば
よいかなっておもったのです。もちろん今まではあらかじめExcel側でマクロとひな形を用意して
作ってたのですが、結構多くなってきたので、汎用的につかえるように出来ればと思いました

YuO様 ありがとうございました
無事できました。

問題は参照設定を使用したことで EXCELのバージョンが違うことでの不具合が
心配です^^
今作ってるExcelへの出力は、 Microsoft excelのライブラリー の参照設定をつかわないで
作成したものです。 前にライブラリを使ったら、ユーザー側のExcelのバージョンの違いで
不具合が生じて面倒だったので ただ今回のは、Excelのバージョンと関係なければよいのですけど

早速のご回答本当に助かりました^^

[ツリー表示へ]