オプション推論はVBAで機能しませんか?
Microsoft Access の配列で VB チュートリアル コードをテストしようとしています。
Dim numbers = {{1, 2}, {3, 4}, {5, 6}}
これは Option Infer ON なしでは動作しませんが、追加するとコンパイル エラーが発生します。
完全な初心者の質問。
オプション推論はVBAで機能しませんか?
Microsoft Access の配列で VB チュートリアル コードをテストしようとしています。
Dim numbers = {{1, 2}, {3, 4}, {5, 6}}
これは Option Infer ON なしでは動作しませんが、追加するとコンパイル エラーが発生します。
完全な初心者の質問。
ディレクティブは、Option Infer
Visual Studio 2008 で VB.Net に追加された機能です。VBA コンパイラはまったく異なる実装であり、更新されていOption Infer
ないため、これを機能させる方法はありません。
この投稿に追加するだけです。存在しませOption Infer
んが、VBA ではOption Explicit
オフにすることができます。これにより、貧弱なバージョンが得られます。ただし、これは本当のことではないので注意してくださいOption Infer
。あなたがしていることは、VBA が主にバリアントを使用して値を格納するようにすることです。次に、VBA エンジンはバリアントの最適なサブタイプを決定します。例えば:
Dim a, b
a = 2
b = 3.2
Debug.Print a * b
とても楽しく働きます。ただし、次のように、後で値を変更することができます...
Dim a, b
a = 2
b = 3.2
Debug.Print a * b
a = "Hello, World!"
Debug.Print a
これは非常にうまく機能し、出力を生成します。
6.4
Hello, World!
ベストプラクティスではありません。
このアプローチの質の悪さをさらに補強するために、変数が適切に定義されていなかったために、 [元のプログラマーの]コードが喜んでクラッシュし、アプリケーション全体がダウンしたという経験がいくつかありました。