重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

VBAです。
標準モジュールに

Option Explicit
Public Const フォルダ名 As String = "新しいフォルダー"
Sub aaaa()
End Sub

はできるのですが、

Option Explicit
dim Const フォルダ名 As String = "新しいフォルダー"
Sub aaaa()
End Sub

は、エラーになってしまいます。

Option Explicit
Sub aaaa()
dim Const フォルダ名 As String = "新しいフォルダー"
End Sub

もダメみたいです。

定数を使うときは、必ずPublicで宣言しなけらばいけないのでしょうか?

A 回答 (2件)

ちょっと意味が分からないのですが


Dim は変数
Constは定数 なので
一緒に指定することはないと解釈するのですが

Sub aaaa()
Const フォルダ名 = "新しいフォルダー"
End Sub

ではダメなのでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2012/12/10 20:21

public は、この変数が外部に公開される、ということを意味します。



dim は、この変数が配列である、ということを宣言します。

ですから、public宣言とdim宣言は、全然意味が違います。

----

さて、外部に公開しないものは、プライベート変数/定数 です。
ですので、public宣言と対になるものは、private宣言です。

Private Const フォルダ名 As String = "新しいフォルダー"

のように明示的に宣言した定数は、この関数内でのみ参照できる、プライベート定数となります。

でもそもそも、Public宣言しなければ、Privateなんです。

だから単に、

Const フォルダ名 As String = "新しいフォルダー"

と書いても、同値のはずです。

----

VBA使ったことないので他の言語から想像しました、間違ってたらすみません(笑
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2012/12/10 20:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!