2008年07月22日

Worksheetsプロパティのヘルプ

Itemの記事では「Application.Worksheetsプロパティ」の項目の解説をそのまま引用しただけでしたが、改めてツッコミを入れておくことにします。

Application オブジェクトでは、作業中のブックのすべてのワークシートを表す Sheets コレクションを返します。Workbook オブジェクトでは、指定されたブックのすべてのワークシートを表す Sheets コレクションを返します。値の取得のみ可能です。Sheets オブジェクトの値を使用します。

まず、「Applicationオブジェクトでは」「Workbookオブジェクトでは」というのが何のことか、一見して意味不明です。

Excel 2003までのVBAヘルプでは、「Worksheets」などのプロパティはそれぞれが独立した項目であり、対象のオブジェクトが複数ある場合は、それぞれのオブジェクトの場合について、プロパティの機能に関する説明がありました。
すなわち、「Applicationオブジェクトでは」「Workbookオブジェクトでは」といった形の説明です。

ところが、Excel 2007のVBAヘルプでは、リファレンスの目次では基本的にオブジェクトだけが表示され、選択したオブジェクトのメンバであるプロパティが一覧表示される形になっています。
ヘルプトピックの見出しも「Application.Worksheetsプロパティ」のようになっており、これとは別に「Workbook.Worksheets プロパティ」という項目も用意されているわけです。

2007のヘルプの解説は、2003の解説に手を加えたものだと思いますが、上記の理由から、「Workbook オブジェクトでは」で始まる文章は、ApplicationオブジェクトのWorksheetsプロパティの解説としてはまったく不要です。


また、最後の「Sheets オブジェクトの値を使用します。」という文章もよくわかりません。
それまでの文章に出てくる「Sheetsコレクション」とこの「Sheetsオブジェクト」は別の物なの?という疑問も沸きますが、これは単に不統一なだけでしょう。
(あえて統一しなかったのかもしれませんが、個人的には、統一したほうがわかりやすいのではないかと思います)

他のプロパティの解説では、通常、この部分ではプロパティに設定される値のデータ型について説明されています。
したがって、この部分も、「Worksheetsプロパティで取得できる値はSheetsオブジェクトです」という意味なんだろうなぁ、という想像はできます。
ただ、それなら「の値を」という表現はいかがなものかと思います。言いたいことはわかる、というか、間違っているわけではないでしょうが、少なくともわかりやすいとはいえません。


ちなみに、「Workbook.Worksheets プロパティ」の項目の解説を見てみると、

指定されたブックのすべてのワークシートを表す Sheets コレクションを返します。値の取得のみ可能です。Sheets オブジェクトを使用します。

と、Applicationオブジェクトについての言及はなく、「『値を』使用します」という表現でもありません。
ただ、こちらでもやはり「コレクション」と「オブジェクト」の不統一は残っていますし、解説としてわかりやすいかどうかと言われると……(^^;)
posted by 土屋和人 at 08:56| Comment(0) | TrackBack(0) | Excel
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/17217441
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック