075012_Excel2000VBATipsAccess2000VBA・Excel2000VBA独学~用語:”目に見える”「メソッド・プロパティ・列挙(=Enum)・定数(=Const)」と右クリックメニューの画面の関係について~※まだ書きかけです。※間違ってたらすみません。※メモ書きなので、自分でも意味不明な箇所も多いです。「メソッド・プロパティ・列挙(=Enum)・定数(=Const)」には、下図のように「目に見えるもの」「メニュー化されたもの」と、「そうでないもの」があります。ここでは、「目に見えるもの」についてご紹介しています。「目に見えないもの」も基本、同じような構造となっています。「形式を選択して貼り付け」の列挙や定数を調べたい場合、「マクロの記録」でまず何らかの「形式を選択して貼り付け」の操作をします。そこに生成されたコードを調べ、そこに書かれた自分が分からない列挙や定数の値(単語になっています)を、「オブジェクトブラウザ」で検索し、そこからヘルプでさらに調べます。すると、どれが列挙で、どれが定数(組込定数)かが分かります。「マクロの記録」をするときに、セル、グラフ、ワークシート・その他の状況や操作内容によっては、右クリックしたものによっては、VBAコードの記述内容がまるで異なることがありますのでどんな時にどんな親オブジェクトになるのかの見極めが必要です。前項の「列挙や定数の調べ方」と同様に、「マクロの記録」をしてから、メソッドやオブジェクトを調べます。オブジェクトらしき単語は一番最初、メソッドやプロパティらしき単語は2番目に、多くは書き込まれます。(※(1)や(2)などがついていたら、最後のカッコまでが多くはオブジェクトで、その次の単語が多くはメソッドやプロパティです。※プロパティは値を取得・設定するだけのプロパティです。押す」という操作を、「マクロの記録」で設定すると、以下のようなコードが自動生成されます。Selection.Copy先に答えから言ってしまうと、この場合は、Selectionがオブジェクト(Rangeオブジェクト)で、Copyがメソッドです。いうことは、セルの「コピー」は「Range.Copyメソッド」であり、「Selection.Copy」、あるいは「××××.Copy」と書けばいいことになります。いうわけで、その調べかたは以降のようにやります。上をクリックしてF1キーを押します。(ヘルプはVBEを開いてからのその画面の「ヘルプ」です。プロパティ、というものが出てきます。ウィンドウで現在選択されているオブジェクトを返します。」とあるので、これかな?とあたりをつけます。どんな形式のオブジェクトかはわからないけど、でも、「オブジェクトっぽい」と、なんとなく感じます。次に、Copyの上をクリックしてF1キーを押します。以下のような画面が出ます。ここでは、先頭が「Excel」になっているものを選びます。「Excel」となっていれば、「Excel専用のオブジェクトかメソッド、プロパティ、イベント、など」を意味しています。これとは別に、例えば「Office」と出ていたら「Excel、Word、Access、Powerpointなど共用のもの」で、また、「VBA」と出ていたら「自作の」コレクションやオブジェクト用なので、今探しているものとは違います。メソッド」というヘルプページが表示されて出てくるので、「ああ、これはなんだかよくわからいけどメソッドなんだな」と分かります。「Range.」という語句が「Copy」の前にあるので、たとえば「Range.Copy」とさきほどの「Selection.Copy」をそのまま「.」基準で対比させると、また、「Selection」のヘルプには「現在選択されているオブジェクト」とあったので、そのため、きっと「Selection」は「Rangeオブジェクト」のことを意味しているんだな、とあたりがつきます。(超初心者の方は「Rangeオブジェクト」のことを知らないかもしれないのでその場合はあたりが付かないかもしれません。この際なので「Rangeオブジェクト=単一セル・またはドラグなどで選んだセル範囲」とだけ覚えておいてください。メンバー」を表示してみます。メンバー」というのを押すと、各オブジェクトの機能の一覧や検索ができます。その画面になった時点で、その画面をいったんクリックしてから、「Ctrl+F」のショートカットキーを押すと、その画面の中だけの文字検索ができるようになります。(Webのヘルプでも同じように「Ctrl+F」のショートカットキーでやれます。別ダイアログで出るか、リボンやメニューバー付近に検索ボックスが出ます。)そこで、セルを右クリックしたときの「コピー」「貼り付け」「形式を」などのメニューの文言、あるいはその一部を、検索ボックスに入れて検索してみます。範囲を、指定の範囲またはクリップボードにコピーします。いうメソッド=英単語を使えばいいんだな。これは紫の箱のような形のアイコンがだからメソッドだな」と分かります。上のほうにスクロールすると「メソッド」に分類されてるので、そこでも、「メソッドだ」と分かります。(プロパティは人差し指のようなアイコンで、イベントは稲妻みたいなアイコンです。メンバー」のヘルプページを見ると分わかるようになっています。このように調べると、「マクロの記録」の操作をしなくてもどういうメソッドやプロパティ・イベント・列挙・定数を使ったらいいかがわかったり、時間がたってから調べなおすのに、いちいちマクロのプログラムコードの画面に戻らずとも調べることができます。「値を取得・設定するだけのプロパティ」や「メソッド」だと特定できたら、その単語の1つ前の単語から一番先頭までが全部、「オブジェクト」になる、と思っていただいて、おおむね差し支えないと思います。※「プロパティ」には「値を取得したり設定するだけのもの」と「オブジェクトを返すもの」の2種類があります(これはこのサイトの受け売りです)。どれがどうなのかはヘルプやオブジェクトブラウザで調べます。ヘルプに「オブジェクトを返す」という記述があればオブジェクトを返すプロパティです。次が「グリーンの太文字リンク」になっていたら、「オブジェクトを返すプロパティ」です。それ以外のプロパティは基本、「値を取得・設定するだけのプロパティ」です。ちなみにですが、「オブジェクトを返すプロパティ」を単語として見つけた場合は、その単語の部分は「オブジェクトそのもの」です。その部分、もしくはその部分から前の部分のすべてが、「オブジェクト」となります。長めのオブジェクトの部分に「.」(ドット)が一つでもあったら、階層構造になっている、と理解してください。(Excel、Application、といった階層構造・オブジェクトは省略されることが多いです。Address:="https://××××.co.jp"といったプログラムを見た場合、「.」(ドット)で区切られてつながっている部分は「ActiveSheet.Hyperlinks.Add」です。(Addの次の単語のあいだには半角スペースがありますので)これを逆順に、最後尾の「Add」からF1キーを押すなどして調べていきます。メソッド」などのページが出てきて「メソッド」とわかります。オブジェクトブラウザで、「完全に一致する単語だけを選択」で「Add」を検索すると、Office、Excel、VBA、VBAProjectなど、すべてのカテゴリ(=ライブラリ)で、「メソッドとしてだけ」しか出てきません。「Add」という名前のプロパティはありません。それらを見るとどうやら「Add」は「メソッドでしかない」と言えそうです。なる」ということなので、つまり、そういうことです。言い方を変えますと、「ActiveSheet.Hyperlinks」の2つの単語が、それぞれ「オブジェクトだ」ということです。「ActiveSheet」も「Hyperlinks」もそれぞれが「オブジェクト」です。(2つの場合もあれば、3つ、4つ、5つ、それ以上になることもあります。)このように「.」(ドット)が含まれたオブジェクト(=オブジェクト式)のことを、「階層構造をもったオブジェクト」=「階層構造をもったオブジェクト式」と呼んだりしています。当サイトでは、「階層構造をもった長いオブジェクト式」のうち、「ActiveSheet」、「Hyperlinks」のような「それぞれのオブジェクト・オブジェクト式」のこをことを、(便宜上)「部分オブジェクト・部分オブジェクト式」と呼んでいます。階層構造を持つオブジェクト式の場合、一番最後の単語(=一番最後の部分オブジェクト)が調査した「メソッド」や「値を取得・設定するプロパティ」の「直上のオブジェクト」になります。(逆に)、そのオブジェクトから見れば、調査した「メソッド」や「値を取得・設定するプロパティ」は、そのオブジェクトの「メンバ(構成要素)だ」ということになります。メンバー」のヘルプページを見ると、色んなことがわかります。メニュー化された目に見える「メソッド・プロパティ・列挙(=Enum)・定数(=Const)」はもちろん、目に見えないそれらも調べることができます。ちなみにですが、「ActiveSheet」の前には、「Application」オブジェクトの階層と、「Workbook」オブジェクトの階層(つまり・部分オブジェクト式)が省略されています。なる・・・ということになります。「Excel.Application.Workbooks(××).ActiveSheet.Hyperlinks」と書くこともできます。COMオートメーションでWordからExcelを操作したり、AccessからExcelを操作したりする場合は、「ライブラリ」の部分もオブジェクト式に含めて考えると、何かヒントになるかもしれません。どんな「ライブラリ」があるかは、オブジェクトブラウザの一番上のドロップダウンで分かります。VBEの画面の「ツール→参照設定」でチェックマークが入ったものでもあります。それプラスVBAProjectのライブラリです。オブジェクトの階層構造はこのように省略ができますが、「省略したがためにエラーになってそれが見抜けずに数日も悩む」という愚かなことになる場合が少なくありません。現在アクティブになっていないシートのセル操作をするとき等々も、階層構造を省略をするとエラーになることがあります。そのほか特に、セルやシートといった「Web上に事例や説明が腐るほどあるオブジェクト」ではない、「それ以外」のオブジェクトを、ご自分独自で操作しなければならないときは要注意です。そのため、初心者はの方はオブジェクト式を省略しない書き方と、その長ったらしいオブジェクト式をオブジェクト変数に代入して操作する方法を覚えるのが、中級にあがるための近道のひとつ、です。メンバー」のヘルプページを見ると、そのオブジェクトで何ができるか?も一覧できて便利です。2010のヘルプが最高に扱いやすい・調べやすいです。2003以前のヘルプもすごくいいです(オブジェクトの階層構造が2010のヘルプよりも調べやすいです。2013や2016のヘルプは残念な仕様になっています。退化してしまいました。セルのハイパーリンクを「マクロの記録」で設定すると、以下のようなコードが自動生成されます。調べると、どこまでがオブジェクトかがわかります。上をクリックしてF1キーを押します。ActiveSheetでヘルプ検索。上をクリックしてF1キーを押します。上をクリックしてF1キーを押します。上をクリックしてF1キーを押します。ActiveSheetでヘルプ検索します。表すオブジェクトを返します。」は「よくわからんけど、多分オブジェクトだな」とあたりをつけられます。上をクリックしてF1キーを押すと下図のようになります。赤枠に「オブジェ・・」と出るので、「ああ、これも多分だけど、オブジェクトだな」とあたりがつけられます。上をクリックしてF1キーを押します。下図のようになります。ここでは、先頭が「Excel」になっているものを選びます。「Excel」となっていれば、「Excel専用のオブジェクトかメソッド、プロパティ、イベント、など」を意味しています。これとは別に、例えば「Office」と出ていたら「Excel、Word、Access、Powerpointなど共用のもの」で、また、「VBA」と出ていたら「自作の」コレクションやオブジェクト用なので違います。メソッド」と出てくるので「ああ、これはなんだかよくわからいけどメソッドなんだな」と分かります。挫折するオブジェクト式やプログラム(プロシージャ)の書き方、挫折しない書き方、の違い。ODBCでQueryTableオブジェクトを自動作成するサンプルコード)。2000以降の全バージョンで使えると思います。~ついでに、セルの値で結果表示を自動で切り替える「パラメータクエリ」のVBAでの自動作成も。~★★Access2000VBA・Excel2000VBA独学~Win32API。eChromeを例に。(Excel、Word、Access、などが32bit版のモノでしか使えませんが、OSは64bitでも大丈夫です。』、「オブジェクトを引数にして・かつ・オブジェクトを返す」、そういう自作関数の作り方。Access2000VBA・Excel2000VBA独学~(多分、全バージョン共通・・・だと思います。Query、QueryTableオブジェクト、といった、「真のExcelデータベース(?)」で、でき「ない」こと・逆に20年前もからでき「る」こと。「安全」な、Youtube動画のダウンロード方法6つ。挫折するオブジェクト式やプログラム(プロシージャ)の書き方、挫折しない書き方、の違い。送信メールが受信トレイに入ってしまうトラブルの回避、など。ODBCでQueryTableオブジェクトを自動作成するサンプルコード)。2000以降の全バージョンで使えると思います。~ついでに、セルの値で結果表示を自動で切り替える「パラメータクエリ」のVBAでの自動作成も。technology.。