はじめに
本ページは、ウインドウズ系全般のティプスメモです。
そう、はじめは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の基礎的なことがよくわかる。
しかし、このレベルがスーパービギナーなら、私は、ウルトラビギナーや〜
■ Visual Basic.NET独習講座
VB6プログラマにとって最適のVB.NET入門書です。
著者の経験に基づく力強い説明は、快く頭に入って来ます。
VB6の延長でなく、ちゃんとVB.NETの本質を解説してある良書です。
■ Java言語プログラミングレッスン (上・下)
私はこの本でJavaの勉強を致しました。すごく分かり易かったですよ!
ちなみに、プログラマを約30年間やっていますが、Javaの仕事には縁がありません(残念)。
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2005/10/26
- メディア: 大型本
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2005/10/26
- メディア: 大型本
■ 秘伝C言語問答 ポインタ編
C言語でプログラムを組んでいると解ったつもりのポインタが、なぜかまた解からなくなります。
そんな時は、いつもこの本に戻って再勉強をしました。
- 作者: 柴田望洋
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2001/11
- メディア: 単行本
■ Cプログラミング診断室
Cプログラマはもちろん、他言語のプログラマも必読の書ですね。
ちなみに、私は、初版本を持っています。当時、雑誌SD(ソフトウェアデザイン)の連載から読んでいました。
■ すぐわかるPerl
この本、凄く難解なPerlを分かり易くやさしく説明をしていて、まさに『すぐわかるPerl』です!
Perl入門に最適な本だと思います。この本から入れば、たぶん、Perlで悩まなくてすみます。
■ 結城浩のPerlクイズ
この本には、ちゃいちゃんパパの小話しが載っています(謎)。
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2002/08
- メディア: 単行本
■ 初めてのPerl
すでにご紹介した『すぐわかるPerl』のつぎにこの本を読むと吉です。
『初めての』といいながら、ちょっとレベル高いです。
- 作者: ランダル・L.シュワルツ, トムフェニックス, Randal L. Schwartz, Tom Phoenix, 近藤嘉雪
- 出版社/メーカー: オライリージャパン
- 発売日: 2003/05
- メディア: 単行本
■ 続・初めてのPerl 改訂版
『初めてのPerl』の次ぎに読むと吉です。
前半は分かりやすいのですが・・・でも結構いいです。初心者にはちょっと難しいかもです。
- 作者: Randal L. Schwartz, brian d foy, Tom Phoenix, 吉川英興, 伊藤直也, 田中慎司, 株式会社ロングテール/長尾高弘
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2006/10/21
- メディア: 大型本
■ 新版Perl言語プログラミングレッスン入門編
実は、私はまだ読んでいませんが、結城先生の本なので良くないはずがありません。
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/10/21
- メディア: 単行本
■ CGI&Perlポケットリファレンス (Pocket reference)
この本は、非常に役に立ちます。ちょっと調べるのに最適です。サンプルも説明も的を射ています。
■ Perlベストプラクティス
意外に読みやすいし、一読の価値有りです!
- 作者: Damian Conway, クイープ
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2006/08/24
- メディア: 大型本
■ プログラミングPerl〈VOLUME1〉
ご存知、Perl本の聖書、ラクダ本(上)です。
- 作者: ラリーウォール, ジョンオーワント, トムクリスチャンセン, Larry Wall, Jon Orwant, Tom Christiansen, 近藤嘉雪
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2002/09
- メディア: 単行本
■ プログラミングPerl〈VOLUME2〉
ご存知、Perl本の聖書、ラクダ本(下)です。
- 作者: ラリーウォール, ジョンオーワント, トムクリスチャンセン, Larry Wall, Jon Orwant, Tom Christiansen, 近藤嘉雪
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2002/09
- メディア: 単行本
■ 暗号技術入門-秘密の国のアリス
実は私は、この本のオンラインレビューに当初参加していたのですが、仕事の方が忙しくなって、途中でリタイヤをしてしまいました。最後まで参加できなくて今でも残念な思い出です。
内容の方は、凄く難しい暗号技術を易しく噛み砕いて説明されていて、セキュリティ系の最適な入門書だと思います。
ちなみに、私のコンテンツ『不思議な国のアドレス』のタイトルは、この本をマネしました(パクリかよ)。
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2003/09/30
- メディア: 単行本(ソフトカバー)
■ プログラマの数学
数学ガールの原点・・・。
- 作者: 結城浩, 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2005/03/24
- メディア: 単行本
■ 数学ガール
現役、中学・高校・大学生におすすめです。数学が苦手な人にも、ストーリーだけでも感動します!
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2007/06/27
- メディア: 単行本(ソフトカバー)
■ 数学ガール/フェルマーの最終定理
数学ガール第二弾です。
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2007/06/27
- メディア: 単行本(ソフトカバー)
おわりに
以下のページには、すべてのTIPSがあります。もしよろしければ、どうぞ!
尚、ご感想、ご意見、誤字、脱字、間違い等がありましたら遠慮なくVB-TIPS掲示板へご指摘ください。