質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

3回答

1455閲覧

VBAのwithに相当するもの

yuujiMotoki

総合スコア90

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2018/09/06 22:01

編集2018/09/26 00:24

何だかんだ言ってvbaが好きです。
特にwithを使った省略技法です

他の言語も、with と同じ表記はありますか?

withにも二つの使い方があることが分かりました。

#new無しの場合
宣言済みのオブジェクトでnewする場合は、単なるエイリアスとして機能します

VBA

1dim a as object 2SET a = new object 3with a 4 5.method 6 7end with 8set a = nothing 9

#new有りの場合
with newの場合は、いきなりオブジェクトを宣言なしで使えてEND WITHでオブジェクトを消去します。
この使い方を使い出してから、ずいぶんソースが完結になりました。

VBA

1 2with new object 3 4.method 5 6end with 7 8

#結論

おそらく他の言語には、これと同等の機能はなく、またVBAを使う上でこれは必須なテクニックかと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

自己解決

アドバイスありがとうございました

追記も含めて、他の言語には、これと同等の機能はなく、またVBAを使う上でこれは必須なテクニックかと思います。

投稿2018/09/26 00:24

yuujiMotoki

総合スコア90

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

C#でしたらusingが近いかも知れません。

投稿2018/09/07 00:20

n_takapyon

総合スコア443

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

業務効率アップのためにたまに使うことがある程度でVBAに精通しているわけではないので正しく解釈できているかわかりませんが、「メソッドチェーン」がそれに近いと思います。
どのようなものかは有用な記事が沢山あるのでキーワードにして調べてみてください。

JavaScriptのライブラリjQueryではこのような書き方もできます。

js

1//1個1個書いてく 2var p = $("<p></p>"); 3p.addClass("test"); 4p.text("hoge"); 5 6//メソッドチェーン的な書き方 7var p = $("<p></p>").addClass("test").text("hoge"); 8 9//最初にまとめて定義 10var p = $("<p></p>",{addClass:"test",text:"hoge"});

投稿2018/09/06 22:20

編集2018/09/06 22:26
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問