1

オプション推論はVBAで機能しませんか?

Microsoft Access の配列で VB チュートリアル コードをテストしようとしています。

Dim numbers = {{1, 2}, {3, 4}, {5, 6}}

これは Option Infer ON なしでは動作しませんが、追加するとコンパイル エラーが発生します。

完全な初心者の質問。

4

2 に答える 2

4

ディレクティブは、Option InferVisual Studio 2008 で VB.Net に追加された機能です。VBA コンパイラはまったく異なる実装であり、更新されていOption Inferないため、これを機能させる方法はありません。

于 2014-02-18T01:00:50.590 に答える
0

この投稿に追加するだけです。存在しませ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!

ベストプラクティスではありません。

リビジョン

このアプローチの質の悪さをさらに補強するために、変数が適切に定義されていなかったために、 [元のプログラマーの]コードが喜んでクラッシュし、アプリケーション全体がダウンしたという経験がいくつかありました。

于 2017-02-15T15:44:30.923 に答える