【VBA】$ドルマークがついているVBA関数

VBA

先日、VBAの仕様書を見つけたので時間があるときに見ています。

VBAの仕様書
VBAの公式仕様書は下記のページにあります。 Published VersionのDownloadsから PDFまたはDOCXをクリックすると仕様書をダウンロードできます。 2016/12/15の1.02で更新が止まっ...

標準ライブラリのページを見ていたのですが
関数によっては末尾に$マークがついている関数があります。

この2つの違いについて調べました。

$ドルマーク付きVBA関数

Date関数を例として仕様書を見てみます。

仕様書でDate関数を見てみるとDateはVariantを返して
Date$はStringを返します。

Property Declaration
Property Date As Variant
Property Date$ As String

出典元:[MS-VBAL]1.02 6.1.2.4.2.2 Date/Date$

 

Date/Date$をオブジェクトブラウザでも見てみます。

$マークがついていない関数はVariantで値を戻します。

 

$マークがついている関数はStringとして値を戻してますね。

 

他の関数も見てみましたが、$マークがついている関数は
Stringとして値を戻してます。

$マークの関数は使う?

わたしは今まで$マーク付きの関数を使ったことないです。

Variant型のほうがString型などに比べて
パフォーマンスが悪いとは聞いたことがありますが
$マークなしの関数で基本的に事足りると思います。

コメント