VB6からEXCELを制御するには

VB6,VBA,VBS,EXCEL,DOS,BAT,WSH,WORDの小技メモ

HTML/ CSS/ CGI-Perl/ JavaScript/ JavaApplet/ AccessUp/ Internet/ EnglishLearn/ ちゃいちゃん天使/ 天使メッセージ/ 飯田ワールド/ 結城ワールド/ プロフィール/ WEB相談室/ WEBアンテナ/ 燈明日記/ Perlノート/ 漢字起源/ yahoo

はじめに

本ページは、ウインドウズ系全般のティプスメモです。

そう、はじめはVB系のティプスメモだったのですが…いつの間にか、ウインドウズ系全般のティプスメモになってしまいました。

ちなみに、ティプス(Tips)とは、マニュアルに書かれていない技法や裏わざのことですが、本ページでは、私が経験してこれはと思ったノウハウのメモになっています。

尚、以下は本サイトの最新情報(ブログ)です。

それでは、本ページが何かのお役に立てれば幸いです。ごゆっくりご覧ください。

◆ VB6からEXCELを制御するには

VBAは内部からEXECLを制御しますが、VB6なら以下のサンプルのように外部からも制御ができます。

注意点としては、シートやブックのメソッドやプロパティは、必ずオブジェクト名変数で修飾します。

アクティブになっているシートなどのメソッドやプロパティは、オブジェクト名修飾なしでも、あたかも問題なく動いているようですが、水面下で問題(メモリリーク)を起こしているとのことです。

また、アーリーバインディングとは、事前バインディングことで、実行時バインディング(レイトバインディング)より一般的に処理が速くなり、コーディング時は、自動メンバ表示等をしてくれます。

あと、インスタンス生成は、CreateObjectを使用します(EXCELに関してMSが推奨)。

尚、VB6からEXCELを制御する前準備として、参照設定でEXCELの Object Library をチェックする。

VB6からのEXCEL制御サンプル

  
'変数は宣言を必須とする。
Option Explicit 
Sub main()

    'エラー割り込みがあったら、次のステップから実行する。
    On Error Resume Next

    'アーリーバインディング(ちなみにレイトバインディングはObject型で宣言する)
    Dim xlsApp    As Excel.Application

    'ブックオブジェクト名変数の宣言
    Dim bokBook   As Excel.Workbook

    'シートオブジェクト名変数の宣言
    Dim shtWork   As Excel.Worksheet

    'EXCELのときは、Newではなく、CreateObjectでインスタンスする。
    Set xlsApp = CreateObject("Excel.Application")

    'ブックをオープンする。
    Set bokBook = xlsApp.Workbooks.Open("C:\TEST01.xls")
    
    'シートのオブジェクトを格納する。
    Set shtWork = bokBook.Worksheets(1)
    
    'シート内のセルの編集する
    shtWork.Cells(1, 1).Value = "12345"     
    shtWork.Cells(2, 1).Value = "ABCDEF"
    shtWork.Cells(1, 2).Value = "2006/08/25"
    shtWork.Cells(2, 2).Value = 98765
    
    'ファイルを保存する。
    bokBook.Save

    '終了処理をする。
    xlsApp.Quit
    Set shtWork = Nothing
    Set bokBook = Nothing
    Set xlsApp = Nothing
End Sub

◆ おすすめプログラム参考本

■ これからはじめる.NET Framework スーパービギナー編

.NETの基礎的なことがよくわかる。

しかし、このレベルがスーパービギナーなら、私は、ウルトラビギナーや〜

これからはじめる.NET Framework スーパービギナー編

■ Visual Basic.NET独習講座

VB6プログラマにとって最適のVB.NET入門書です。

著者の経験に基づく力強い説明は、快く頭に入って来ます。

VB6の延長でなく、ちゃんとVB.NETの本質を解説してある良書です。

VB6プログラマーのための入門Visual Basic.NET独習講座

■ Java言語プログラミングレッスン (上・下)

私はこの本でJavaの勉強を致しました。すごく分かり易かったですよ!

ちなみに、プログラマを約30年間やっていますが、Javaの仕事には縁がありません(残念)。


改訂第2版 Java言語プログラミングレッスン (上)

改訂第2版 Java言語プログラミングレッスン (下)

■ 秘伝C言語問答 ポインタ編

C言語でプログラムを組んでいると解ったつもりのポインタが、なぜかまた解からなくなります。

そんな時は、いつもこの本に戻って再勉強をしました。

秘伝C言語問答 ポインタ編

■ Cプログラミング診断室

Cプログラマはもちろん、他言語のプログラマも必読の書ですね。

ちなみに、私は、初版本を持っています。当時、雑誌SD(ソフトウェアデザイン)の連載から読んでいました。

Cプログラミング診断室―さらに美しく健康的なプログラムのために

■ すぐわかるPerl

この本、凄く難解なPerlを分かり易くやさしく説明をしていて、まさに『すぐわかるPerl』です!

Perl入門に最適な本だと思います。この本から入れば、たぶん、Perlで悩まなくてすみます。


すぐわかるPerl

■ 結城浩のPerlクイズ

この本には、ちゃいちゃんパパの小話しが載っています(謎)。

結城浩のPerlクイズ

■ 初めてのPerl

すでにご紹介した『すぐわかるPerl』のつぎにこの本を読むと吉です。

『初めての』といいながら、ちょっとレベル高いです。

初めてのPerl

■ 続・初めてのPerl 改訂版

『初めてのPerl』の次ぎに読むと吉です。

前半は分かりやすいのですが・・・でも結構いいです。初心者にはちょっと難しいかもです。

続・初めてのPerl 改訂版

■ 新版Perl言語プログラミングレッスン入門編

実は、私はまだ読んでいませんが、結城先生の本なので良くないはずがありません。

新版Perl言語プログラミングレッスン入門編

■ CGI&Perlポケットリファレンス (Pocket reference)

この本は、非常に役に立ちます。ちょっと調べるのに最適です。サンプルも説明も的を射ています。

CGI&Perlポケットリファレンス (Pocket reference)

■ Perlベストプラクティス

意外に読みやすいし、一読の価値有りです!

Perlベストプラクティス

■ プログラミングPerl〈VOLUME1〉

ご存知、Perl本の聖書、ラクダ本(上)です。

プログラミングPerl〈VOLUME1〉

■ プログラミングPerl〈VOLUME2〉

ご存知、Perl本の聖書、ラクダ本(下)です。

プログラミングPerl〈VOLUME2〉

■ 暗号技術入門-秘密の国のアリス

実は私は、この本のオンラインレビューに当初参加していたのですが、仕事の方が忙しくなって、途中でリタイヤをしてしまいました。最後まで参加できなくて今でも残念な思い出です。


内容の方は、凄く難しい暗号技術を易しく噛み砕いて説明されていて、セキュリティ系の最適な入門書だと思います。

ちなみに、私のコンテンツ『不思議な国のアドレス』のタイトルは、この本をマネしました(パクリかよ)。

暗号技術入門-秘密の国のアリス

■ プログラマの数学

数学ガールの原点・・・。

プログラマの数学

■ 数学ガール

現役、中学・高校・大学生におすすめです。数学が苦手な人にも、ストーリーだけでも感動します!

数学ガール

■ 数学ガール/フェルマーの最終定理

数学ガール第二弾です。

数学ガール/フェルマーの最終定理

おわりに

以下のページには、すべてのTIPSがあります。もしよろしければ、どうぞ!

尚、ご感想、ご意見、誤字、脱字、間違い等がありましたら遠慮なくVB-TIPS掲示板へご指摘ください。

人のよいところをどんどん見つけよう