• ベストアンサー

NEWキーワードとSETキーワードは

VBAにおいて NEWキーワードとSETキーワードは 一つのプロシージャーでどちらも使う事が多いですか? 単体で使うことはありませんか? 「NEWとSETはペアで使う」と覚えていいのでしょうか? 変なこと聞いてたらすいません。よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.2

Set objABC = CreateObject("・・・") objABC.xxx = aaa ・・・ objABC.close set objABC = nothing というパターンもあるので、 newを必ず使うかというと疑問。 むしろ、 set objABC = new でもCreateObjectでもなんでもいいが、 と set objABC = nothing をペアで覚えておいたほうがいいと思う。 (set objABC = nothingをつけるのは、VBAからの参照を解除するだけで、 newやcreateobjectで作ったオブジェクトが終了するわけではないので注意)

noname#150498
質問者

お礼

newを必ず使うわけではないのですね。 ありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

質問者はドレぐらいのレベルの人ですか? (1)NEW エクセルVBAで初級・中級の人ならNEWは使わないでしょう。 エクセルVBAなどの解説書を見ればこういうのは解説されていません。 普通に使う場合も、必要ないと思う。 クラスの利用というものが、切実性が在る使い方は少ないと思う。 http://www.accessclub.jp/vbakaisetu/52.html などの例があるのは存じてますが、他アプリなどから使う特殊な場合です。 VBAの文法などでキーワードという言葉はあまり使われないのでは。 ステートメント、プロパティ、メッソド、関数名などをいうのかもしれないが、900ページぐらいのVBA解説書にも、 変数名は「キーワードと同じ文字列は使えません」程度の使い方だ。 Meキーワードというのが唯一の載っている例だった。WEBでは、ほかにPublicキーワードとかあった。 意味がはっきりしない。変数ではない語句(VBAで働きが決められている語句)ぐらいの意味で使われているような感じ。 SETはステートメントで載っている。 (2)SET http://pc.nikkeibp.co.jp/pc21/special/2007_gosa/eg4.shtml のようにオブジェクト型変数の定義の場合は必要になった。 そういう意味でオブジェクトをNEWしたら、後々そのオブジェクトのプロパティやメソッドやサブオブジェクトを使うために、名前をつけておいたほうが便利(というより必須)なので、そういう意味からはペアで使う。 しかしVB.NETなどでは、Propaty Setなどの使い方もあるので、 http://officetanaka.net/excel/vba/statement/PropertySet.htm >NEWとSETはペアで使う」と覚えていいのでしょうか は、ある程度のレベルまではそういう場合が多いだろうが、そうしたいなら勝手にしたら、といいたい。 こういう公式を作って覚えないと不安なのか?

noname#150498
質問者

お礼

初心者です。ありがとうございました。

関連するQ&A