質問編集履歴

1

結論追記

2018/09/26 00:24

投稿

yuujiMotoki
yuujiMotoki

スコア90

test CHANGED
File without changes
test CHANGED
@@ -5,3 +5,91 @@
5
5
 
6
6
 
7
7
  他の言語も、with と同じ表記はありますか?
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+ withにも二つの使い方があることが分かりました。
16
+
17
+
18
+
19
+
20
+
21
+ #new無しの場合
22
+
23
+ 宣言済みのオブジェクトでnewする場合は、単なるエイリアスとして機能します
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+ ```VBA
34
+
35
+ dim a as object
36
+
37
+ SET a = new object
38
+
39
+ with a
40
+
41
+
42
+
43
+ .method
44
+
45
+
46
+
47
+ end with
48
+
49
+ set a = nothing
50
+
51
+
52
+
53
+ ```
54
+
55
+
56
+
57
+ #new有りの場合
58
+
59
+ with newの場合は、いきなりオブジェクトを宣言なしで使えてEND WITHでオブジェクトを消去します。
60
+
61
+ この使い方を使い出してから、ずいぶんソースが完結になりました。
62
+
63
+
64
+
65
+
66
+
67
+ ```VBA
68
+
69
+
70
+
71
+ with new object
72
+
73
+
74
+
75
+ .method
76
+
77
+
78
+
79
+ end with
80
+
81
+
82
+
83
+
84
+
85
+ ```
86
+
87
+
88
+
89
+
90
+
91
+ #結論
92
+
93
+
94
+
95
+ ### おそらく他の言語には、これと同等の機能はなく、またVBAを使う上でこれは必須なテクニックかと思います。