5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
受講生さんの投稿
(投稿ID: 5001)
クラスとインスタンスの関係はわかるのですがオブジェクトの概念がどうもよくわかりません。例えばセルというオブジェクトがあり、そのひな形として様々なプロパティを持ったり、動作(メソッド)ができたりするようになっている。初期値も決められている。A1に具体的な実態を伴ったセルを作ったときにそれがインスタンスで固有の列幅や網掛け色などを持っています。ここまではあっているような気がしています。
一方、動画の3分を超えたあたりのコメントに関する先生の説明で使われる「オブジェクト」の意味がどうもしっくりきません。
「…コメントのクラスというのがあって、コメントの発注をした。そうするとEXCELがコメントの◆オブジェクトを作って◆最低限の設定だけしてそのまま納品した…」の◆で挟んだ部分です。ここでいう「オブジェクトを作る」というのは「インスタンスを作る」ことと何が違うのか?について教えてください。よろしくお願いします。
受講生さんのコメント
(コメントID: 7137)
「クラス」について記述が言葉足らずでした。以下修正します。
------------------------------------------------
そのひな形として様々なプロパティを持ったり、動作(メソッド)ができたりするようになっている。初期値も決められている。そのひな形のことを「クラス」という。
小川 慶一さんのコメント
(コメントID: 7138)
おはようございます。
「オブジェクト」という言葉のほうが、「インスタンス」という言葉より、指しているものの範囲が広いです。
クラスを元に生成された1つ1つのオブジェクトのことをインスタンスと言います。なので、「インスタンス」というと、常に1つです。
一方、「オブジェクト」は、「1つのインスタンス」であったり、「複数のインスタンスのコレクション」であったりします。(*1)
○「オブジェクト」が、「1つのインスタンス」の場合の例:
Worksheets("Sheet1") : ワークシートクラスの、1個のインスタンス
↓
オブジェクト
.Name のような「プロパティ」がありますね。
.Activate のような「メソッド」がありますね。
○「オブジェクト」が、「複数のインスタンスのコレクション」の場合の例:
WorkSheets(Array("Sheet1", "Sheet2", "Sheet3")) : ワークシートクラスの、3個のインスタンスのコレクション(*2)
↓
オブジェクト
.Countのような「プロパティ」がありますね。
.Deleteのような「メソッド」がありますね。
まずは、この解説でどうでしょうか。
以下は、参考。
公式ドキュメントより、Worksheetオブジェクトと、Worksheetsオブジェクト(Worksheetのコレクション)について。(*3)
○Worksheet オブジェクト (Excel)
https://docs.microsoft.com/ja-jp/office/vba/api/excel.worksheet
○Worksheets オブジェクト (Excel)
https://docs.microsoft.com/ja-jp/office/vba/api/excel.worksheets
(*1) 発展編1の第2章参照。マインドマップで言うと、hatten_mindmap_all.pdfのページ7「発展07_オブジェクトの概要」を参照ください。
(*2) 自動記録をしつつSheet1, Sheet2, Sheet3を同時に選択する([Shift]キーを押しながらシートのタブをクリックしていく)とこれとほぼ同じコードを得られます。
(*3) 紹介した日本語の公式ドキュメントは日本語タイトルを見ると同じですが、機械翻訳が雑なだけで、英語版で確認すると別のタイトルです。
https://docs.microsoft.com/en-us/office/vba/api/excel.worksheet
https://docs.microsoft.com/en-us/office/vba/api/excel.worksheets
受講生さんのコメント
(コメントID: 7141)
ありがとうございます。
だいぶ、イメージが鮮明になりました。
発展編1の方も学びなおして頭の中をすっきりさせようと思います。
今後ともよろしくお願いいたします。
小川 慶一さんのコメント
(コメントID: 7142)
おはようございます。
よかったです。ひきつづき、よろしくお願いいたします。