- ベストアンサー
NEWキーワードとSETキーワードは
VBAにおいて NEWキーワードとSETキーワードは 一つのプロシージャーでどちらも使う事が多いですか? 単体で使うことはありませんか? 「NEWとSETはペアで使う」と覚えていいのでしょうか? 変なこと聞いてたらすいません。よろしくお願い致します。
- みんなの回答 (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で作ったオブジェクトが終了するわけではないので注意)
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
質問者はドレぐらいのレベルの人ですか? (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はペアで使う」と覚えていいのでしょうか は、ある程度のレベルまではそういう場合が多いだろうが、そうしたいなら勝手にしたら、といいたい。 こういう公式を作って覚えないと不安なのか?
お礼
初心者です。ありがとうございました。
お礼
newを必ず使うわけではないのですね。 ありがとうございました。