• ベストアンサー

共通な定数の宣言について

bin-chanの回答

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

すべてのモジュールからも参照できる定数を宣言するときは「Global」 宣言したモジュール内だけで参照できる定数を宣言するとき「Public」 です。

kudo1
質問者

補足

早々の回答、ありがとうございました! しかし、「Public」は他のどのモジュールからも 参照できるみたいでしたが・・・??

関連するQ&A

  • 定数の宣言ってdimは使えないのですか?

    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で宣言しなけらばいけないのでしょうか?

  • 定数について

    定数の使用の仕方について悩んでいます。 インターフェースに定数を宣言して、 それを実装(Implements)し使う方法と、 クラスで定数を宣言して、 それを参照して使う方法とで悩んでいます。 どちらもstaticな定数を使用しているのですが、 パフォーマンス面での違いとかはないのでしょうか? もし、定数の取り扱いについてほかにいい方法があるのであれば、 教えてほしいです。 お願いします。

  • Excel VBAでの定数宣言について

    初心者が書籍とにらめっこしながらマクロを書いています。 お助けください。 複数あるラジオボタンをクリックしたら、そのラジオボタンの種類に応じて、特定の行を表示したり、非表示にしたりしたいと考えています。行の追加や削除で行番号が変わってしまった場合に備えて、この行番号を定数として宣言したいと思ったのですが、うまくいきません。 シートモジュールには、以下のように記述しています。 ============================================================== Private Sub OptionButton1_Click() 'ラジオボタン1を選択 Rows(scope1).EntireRow.Hidden = False 'scope範囲行を表示 Rows(scope2).EntireRow.Hidden = True 'scope範囲行を非表示 End Sub Private Sub OptionButton2_Click() 'ラジオボタン1を選択 Rows(scope1).EntireRow.Hidden = True 'scope範囲行を非表示 Rows(scope2).EntireRow.Hidden = False  'scope範囲行を表示 End Sub ============================================================== 以下の記述で定数を宣言したいのですが、 public const scope1 = "38:48" '38行目~48行目 public const scope2 = "49:52" '49行目~52行目 シートモジュールの最初に書くと、 「コンパイルエラー  定数、固定長文字列、配列、ユーザー定義型およびDeclareステートメントは、オブジェクトモジュールのパブリックメンバとしては使用できません」 とエラーメッセージが表示されてしまいます。 エラーの意味がよく分からないのですが、定数宣言は、どこに記述すればよいのでしょうか? お教えください。よろしくお願いします。

  • ExcelVBA 定数宣言を外部ファイルで

    お世話になります。 当然ながらプログラミングでは同じ値でも全く意味が異なることが殆どです。 同じ「数値1」だからと云って安易に改変すると ご存じの通りとんでもない事になります。 これに泣かされまくった私はconstを多用し 全ての意味に対して定数を宣言したいたちになったのですが 以前作ったものではこれが仇をなしプログラム全体の7割がConst などと云った馬鹿げたことになり 「.INFファイルに纏めたら?」(冷笑) という汚名をきしました。 ところがVBA初心者なせいでしょうか? CVSなど以外の外部ファイルから 定数宣言を行なえるか、どうすれば叶うのか、解りません どの様にすれば大量のConst大行列を防げるのでしょうか? ご教示を頂ければ幸いです。

  • 定数の設定について。

    こんにちは!WIN2000、VB6、SP5で開発しています。 仕事で今プログラミングしてるのですが、定数で困ってます。 悩んでるのは、 定数を宣言する標準モジュールがあって、 そこの定数にINIファイルから読み込んだ値を代入して、 どこからでも読み込めるようにする。 というところなのです。 Public Const gstrMoji = "文字列" このように宣言すると分かったのですが、 例えば下のように、INIファイルから読み込んで文字列を入れようとすると、 Public Const gstrMoji = iniFileLoad("テスト", "答え") iniFileLoadのところで、定数式が必要です。とエラーになってしまいます。 ちなみに、iniFileLoadっていうのは、別のモジュールに書いた関数式?を呼んでます。 登録や編集してるフォームではちゃんと動いてるので、 コード自体に問題があるわけじゃないと思ってます。 ためしに、フォームロードとかで定数を宣言してやろうとしたら、 ここでは宣言出来ません。みたいになって、どうしていいか困ってしまいました。 INIファイルから読み込んだデータを定数に代入する方法、 ご存知の方いらっしゃいましたら、どうぞご教授よろしくお願いしますm(_ _)m

  • 変数宣言(Dim)と定数宣言(Const)のメモリ使用量

    VS2005で開発しています。 Constで定数宣言したものはソース上でカーソルを当てるとその場で内容を確認できますが、変数で宣言しておくことでメモリ使用量が少なくなると言われました。 そうするといちいち定義まで飛ばないと定数の中身が見れず不便に思っているのですが、本当にメモリ使用量が少なくなるのでしょうか?

  • 定数宣言

    定数を宣言時に、 public static final String SQL_QUERY = "select * from table" のように、宣言しているのを書籍やweb上で見ることがよくあります。 上記宣言のstatic修飾子について、なぜ使用するのでしょうか?

    • ベストアンサー
    • Java
  • oo4o OpenDatabaseの定数について

    下記の定数を宣言しているのですが、意味がさっぱり分からないので、教えて下さい! Public Const ORADB_DBDEFAULT = &H4& Public Const ORADB_DEFERRED = &H8& Public Const ORADB_ENLIST_IN_MTS = &H9& 今まで3という宣言されていない定数を使っていたのですが、 宣言されていない定数を使った場合、デフォルト0を使っていた事になるのでしょうか???

  • const 宣言に式を使う。

    クラス内の定数宣言でconstを使いたいんですけど、 constでは式を使うとエラーになるようで、 define() からそのまま const にすることができません。 どうにかしてconstで式を使えるように出来ないでしょうか?

    • ベストアンサー
    • PHP
  • VBAで宣言セクションにクラスの宣言をしたい

    Excel VBAについての質問です。 ClassDataBaseというクラスモジュールを作成し、それをSheet1やThisWorkbookの宣言セクションで Public DB As New ClassDataBase というように宣言しようとしました。 ですが、これだと ---------------------------------------------------------- コンパイルエラー プライベートオブジェクトモジュールを、パブリックオブジェクトモジュール内で、パブリックプロシージャの引数または戻り値、パブリックデータメンバ、またはパブリックのユーザー定義型フィールドとして、使用することはできません。 ---------------------------------------------------------- というエラーが出てしまいます。 実は以前に質問し、教えていただいた際には標準モジュールで宣言するようにとのことだったのですが、他ではできないのかな?と思い、試したところこのような結果になってしまいました。 エラーの意味がわかればよかったのですが、ヘルプもなく、意味もわかりませんでした・・・。 どなたか、ご教授いただければ幸いです。 よろしくお願いいたします。