質問するログイン新規登録

回答編集履歴

2

誤字の修正

2019/07/17 08:33

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  ということで、事前バインディングの方がメリットか多いので、通常は事前バインディングの方が推奨されます。
27
27
 
28
- ただし、開発環境と違う環境に配布するときに、参照設定不可になって動作しない場合があるので、不特定の環境に配布する場合は、実行時バインディングにします。ただし、この場合は、開発時は事前バインディングでコーディングして完成してから、実行時バインディングに変更して配布するようにすると率的に開発できます。
28
+ ただし、開発環境と違う環境に配布するときに、参照設定不可になって動作しない場合があるので、不特定の環境に配布する場合は、実行時バインディングにします。ただし、この場合は、開発時は事前バインディングでコーディングして完成してから、実行時バインディングに変更して配布するようにすると率的に開発できます。
29
29
 
30
30
 
31
31
  参考リンク

1

コード追加

2019/07/17 08:33

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -2,12 +2,16 @@
2
2
 
3
3
  Early Binding (事前バインディング) は、変数の宣言でオブジェクトの型をきっちり指定している。
4
4
 
5
+ ```vba
6
+ Dim re As VBScript.RegExp
5
- `Dim f As Scripting.FileSystemObject`
7
+ Dim f As Scripting.FileSystemObject
6
-
8
+ ```
7
9
  Late Binding(実行時バインディング)は、変数の宣言をどんな型でも代入できるObject型で宣言している。
8
10
 
11
+ ```
12
+ Dim re As object
9
- `Dim f As Object`
13
+ Dim f As Object
10
-
14
+ ```
11
15
  単純にこの違いです。参照設定しているかどうかは関係ないです。
12
16
  (ただし、前者のコードは参照設定してないとコンパイルエラーになりますが。)
13
17
  後者だと参照設定してあっても、実行時バインディングになります。