教えて! goo のコンテンツに対する取り組みについて

最高何個のモジュールを作ることが可能ですか?
エクセルやアクセスなどのソフトの種類にもよりますか?

gooドクター

A 回答 (5件)

#2の回答者です。



以下に、その説明が出ていて読んでみましたが、私の書いた内容は間違いがありました。
http://www.eng-tips.com/viewthread.cfm?qid=280332

Microsoft のmsdnに、
http://msdn.microsoft.com/en-us/library/Aa264541
「プロシージャが大きすぎます」の原因として、

Code for this procedure exceeds 64K when compiled.
コンパイルした時に、そのプロシージャのコードが、64Kを越えている場合

ということですから、つまり、コンパイルした時の大きさですから、コンパイルの種類にもあるかもしれませんが、そのプロシージャだけの問題でした。

http://msdn.microsoft.com/en-us/library/aa240819 …
ここには、VB6の説明がありました。なお、翻訳は私がしたものです。

1 つのフォーム、クラス、または標準モジュールで、読み込まれるコードは、65,534 行までに制限されます。1行に含まれるコードは 1,023 バイトまで。1 行のコードの実際の文字の前に256個のスペースを入力することができ、1つの論理行に24行までの継続文字 (_) を使うことができます。

1つのモジュールで使えるプロシージャの数には、制限はありません。

1 つのプロシージャには、64KBまでのコードを記述することができます。
プロシージャやモジュールがこの制限を超えると、VBは、コンパイル時のエラーを発生します。

となっています。VBAも、これに準じると考えてよいのではないでしょうか。
モジュールの数の制限ではなく、行数の問題だと解釈してよさそうです。

ただし、VBAの本体のアプリケーション自体には変わりはなさそうです。
    • good
    • 0
この回答へのお礼

回答頂きありがとうございました。

お礼日時:2013/12/01 20:23

No3のところで、



>番外として。
>もともとAccessはBisual Basic 6.0 の縮小版と

とありますが、Accessではなく、VBAです。
訂正して以下のように。

番外として。
もともとVBAはBisual Basic の縮小版と


それと、途中の文章が飛んで表示されていたので、


データの制限
フォーム モジュール、標準モジュール、およびクラス モジュールのデータ
Visual Basic のフォームまたはモジュールの VBA モジュールのデータ セグメント (宣言セクションで定義されたデータ) の大きさは、64KB までに制限されています。このデータ セグメントには次のデータが含まれます。

Static ステートメントで宣言されたローカル変数
配列および可変長文字列以外の、モジュール レベルの変数
モジュール レベルの配列および可変長文字列それぞれに追加される 4 バイト


のように。
    • good
    • 0
この回答へのお礼

回答頂きありがとうございました。

お礼日時:2013/12/01 20:23

No1です。

追加ですが。


>エクセルやアクセスなどのソフトの種類にもよりますか?

その通りだと思います。


番外として。
もともとAccessはBisual Basic 6.0 の縮小版と
いわれていましたが、ExcelやAccessの
モジュールのサイズが64kという根拠は、
それぞれのヘルプにも記載されていません。
ただ、VB6のヘルプには、


データの制限
フォーム モジュール、標準モジュール、およびクラス モジュールのデータ
Visual Basic のフォームまたはモジュールの VBA モジュールのデータ セグメント (宣言セクショ

ンで定義されたデータ) の大きさは、64KB までに制限されています。このデータ セグメントには

次のデータが含まれます。

Static ステートメントで宣言されたローカル変数
配列および可変長文字列以外の、モジュール レベルの変数
モジュール レベルの配列および可変長文字列それぞれに追加される 4 バイト


のように記載されています。たぶん、これが根拠に
なっているのかもしれませんが、AccessやExcelの
ヘルプには出てきません。
http://office.microsoft.com/ja-jp/access-help/HA …
http://office.microsoft.com/ja-jp/excel-help/HP0 …
    • good
    • 0
この回答へのお礼

回答頂きありがとうございました。

お礼日時:2013/12/01 20:23

>最高何個のモジュールを作ることが可能ですか?


数ではなくて、メモリの配分(64k)の許す限りだと思います。
つまり、その64k というのは、本来は、コンパイルされた「Pコード」ということにはなるはずですが、そのサイズは、分かりませんので、結果的には、そこに書かれたテキストの文字量とほぼ等しいのではないかと思います。
    • good
    • 0
この回答へのお礼

回答頂きありがとうございました。

お礼日時:2013/12/01 20:23

URLでは、


http://office.microsoft.com/ja-jp/access-help/HA …
の最初のあたりの「データベースの仕様」の「全般」のところに、

"HasModule/レコード保持" プロパティが [Yes/はい] に設定された
フォームおよびレポートを含むモジュールの数

が 1000 と記載されています。

Accessのバージョンによってヘルプの項目名が違うかも
しれませんが、同様のことがヘルプにも記載されています。
    • good
    • 0
この回答へのお礼

回答頂きありがとうございました。

お礼日時:2013/12/01 20:23

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

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング