電子書籍の厳選無料作品が豊富!

VB6.0からExcelの操作をしています。
そのなかで、Excelシートを印刷したいのですが、どのようにしたら良いのでしょうか。
また、ExcelVBAのFunctionやSubを実行するにはどのようにするのでしょうか。

VB6.0内でExcel操作は次のようにしています。

Dim ExcelApp As Object
Dim EWorkbook As Object
Dim ESheet As Object

Set ExcelApp = CreateObject("Excel.Application")
Set EWorkbook = ExcelApp.Workbooks.Open(ExcelBookFlNm)
Set ESheet = EWorkbook.Sheets(M_SheetNm)

Set ESheet = Nothing
Set EWorkbook = Nothing
ExcelApp.Quit
Set ExcelApp = Nothing


よろしくお願いします。

A 回答 (1件)

開発機に 開発対象のOffice(Excel)はインストールされているのでしょうか


インストールされているのであれば
プロジェクト > 参照設定 で
『Microsoft Excel x.xx Object Library』
を設定してみましょう

複数のバージョンが対象なら開発時は参照設定をしておき、ObjectをExcel.ApplicationやWorkBookなどの固有オブジェクト名にします
配布時に参照設定を外して、Excel.ApplicationなどをObjectに変更してEXEを作成しましょう

ExcelVBAで出来ることは VBAでマクロの記録などで確認してみましょう
シートの印刷には PrintOutメソッドを使います
ESheet.PrintOut 必要なパラメータ
といった具合です

VBAのファンクションやプロシージャは Runメソッドを使います
ExcelApp.Run "モジュール名.関数名", 引数
または
ret = ExcelApp.Run( "モジュール名.関数名", 引数)
といった具合です
モジュール名には Sheet1やModule1など VBEで表示されるモジュール名になります
シートなどに記述したSubなどは Publicで無いとアクセスできません
    • good
    • 0
この回答へのお礼

ありがとうございます。
出来ました。

お礼日時:2008/10/22 10:03

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