プロが教えるわが家の防犯対策術!

CreateObjectとはどういう意味なのでしょうか?

よく、IEを立ち上げたい時に
Set ObjIE = CreateObject("InternetExplorer.application")
を使ってましたが、
Debug.Print CreateObject("Wscript.NetWork").ComputerName
でコンピューター名を取得できる事を知りました。

CreateObjectは、オブジェクトやインスタンスを作成するものだと思っていたのですが、
CreateObject("Wscript.NetWork").ComputerNameは、
オブジェクトやインスタンスを作成してないですよね?

なので混乱しています。

あと、CreateObjectは関数なのでしょうか?メソッドなのでしょうか?

A 回答 (2件)

> CreateObject("Wscript.NetWork").ComputerNameは、


> オブジェクトやインスタンスを作成してないですよね?

作成してますよ。

CreateObject("Wscript.NetWork")
で作成したオブジェクトに対して
.ComputerName
を使っています。

Set ObjNET= CreateObject("Wscript.NetWork")
ObjNET.ComputerName
を一度にやったような感じです。
    • good
    • 0
この回答へのお礼

Set ObjNET= CreateObject("Wscript.NetWork")
ObjNET.ComputerName
を一度にやったような感じです。

この表現は実にわかりやすいです。

お礼日時:2012/12/20 22:02

>オブジェクトやインスタンスを作成してないですよね?


WshNetWorkオブジェクトのインスタンスを作成していますよ。

メソッドのことをメンバ関数というのはご存じですか。
(ちなみにComputerNameはメンバ変数です)
CreateObjectは関数でもあろうと、メソッドであろうと働きは同じです。
使われ方によって関数と言われる時もあれば、メソッドとよばれる時があるだけです。

一度クラス設計の簡単なプログラムを経験してみると一皮むけることでしょう。
    • good
    • 0
この回答へのお礼

CreateObject("Wscript.NetWork").ComputerName
でもインスタンスを作成してたのですね。気付きませんでした。

>メソッドのことをメンバ関数というのはご存じですか

知りませんでした。勉強します。

>CreateObjectは関数でもあろうと、メソッドであろうと働きは同じです。
使われ方によって関数と言われる時もあれば、メソッドとよばれる時があるだけです。

為になる情報、ありがとうございます。

お礼日時:2012/12/20 22:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています