掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
初歩質問ですが$について・・・・ (ID:81706)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
コード中の$記号には、2種類の意味があります。 一つは「型宣言文字」の意味。もう一つは「文字列関数名の一部」の意味です。 例えば前者に関しては、 Dim S As String は、 Dim S$ と書く事ができます。これが前者の「型宣言文字」です。 (他にも、&, %, #, !, @などといった記号があります) 一方、後者に関しては、 Format$関数、Hex$関数、 Chr$関数、ChrB$関数、ChrW$関数 Left$ 関数、LeftB$関数、 Right$ 関数、LeftB$関数 …などがあります。今回の質問の意味は、こちらでしょうね。 この場合の$は、型宣言を意味しているわけではなく、 $までを含めて、一つの関数名となっています。 で。$付き関数は『String型を返す関数』です。一方、同名の$無し関数は、 『内部形式 String の Variant型を返す関数』となっています。 通常、これらの差を感じる場面は少ないでしょうが、例えば、 『Debug.Print Hex(Null)』はエラーにならずに実行できますが、 『Debug.Print Hex$(Null)』だと [Nullの使い方が不正です]と 怒られる…という違いや、実行速度の僅かな差などがあります。 注意しなければいけないのは、「文字列型を返す関数」の全てが $付きバージョンを持っているというわけではない、という事です。 例えば、『内部形式 String の Variant型を返す関数』の一つに Partition関数という物がありますが、これを $付きで呼び出した場合、 エラーが返される事になります。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.