プロが教える店舗&オフィスのセキュリティ対策術

VBA projectコンパイルするコードはありますか?

マクロの記録はできませんでした。

ファイルサーバーにExcel fileがあり
私が使う分には問題ありません
コードを更新した時に私が実行して、コンパイルしたらうまくいくのですが

サーバーとの兼ね合いで
コード更新時に、人によりその人のパソコンでも、コンパイルしないとうまくいかないケースがあり

コンパイルもマクロで出来たらと思うのですが、出来ませんかね?

A 回答 (4件)

こんにちは


上手くいかない内容は?
コンパイルエラー? 実行時エラー?

初めのVBA実行時に自動で行われると思います また、
コード作成時にVBEのデバッグメニューにあるVBA projectコンパイルを押すと文法チェック、型チェックなどが行われると思います
この操作を完了するとブックサイズが変わるのでブック自体に中間言語が
書き込まれるのではないか?と思いますので、個々のPCで必要な事なのか疑問です

>コンパイルしないとうまくいかないケースがあり・・・
手動でコンパイルすればうまく行くと言う事でしょうか?

>コンパイルもマクロで出来たらと思うのですが、出来ませんかね?

直接では無いけれど、Open系やActivate系プロシージャに
ダミー処理を入れれば、開いた(アクティブ)時に自動的にコンパイルされるはずです。(意味あるかは不明)
コンパイルエラーが出た時、その場での対応はもっと難しい・・と言うより無理なのではないでしょうか
(配布前にデバッグしていない、実施していなかった場合)

参照設定、デザインモードを使用したり、コード自体の操作をVBAで行っていると言う事でしょうか?
この場合は環境にあったロジック分岐を作成すれば対応できるのではないでしょうか

VBAはコンパイラ言語と大分違うのではないでしょうか
インタプリタでもありコンパイル言語でもあるような事をどこかで読んだ気がします

作成時の確認などでコンパイルを使用する事は比較的多くあります(私的に)が、わざわざ行う必要はないと思います
(ファイルサイズの問題もあるし普通デバッグすると思いますので)
    • good
    • 0
この回答へのお礼

詳しく、ありがとうございます
open処理の時に、ダミー処理でコンパイルですね

現在、デザインモードを使用したり、コード自体の操作をVBAでは行っていません

私も意味ないと思うのですが、個々のPCで必要ないはずですよね、、、、

なぜか手動で、コンパイルしたらうまくいってしまうので、、、

エラーメッセージなし、問題はクラッシュ(突然落ちる)
問題のコード箇所はいつもバラバラ
修繕が馬鹿馬鹿しくなり、泣けきます。

お礼日時:2022/10/27 12:45

インタプリタ用の言語なので、excutable bainaryと言う概念が有りません。


だから無理です。
    • good
    • 0
この回答へのお礼

無理ですか、ありがとうございます。

お礼日時:2022/10/27 12:28

VBAにコンパイルの機能はありません。

いきなり実行するだけです。
    • good
    • 0

Excel VBAのコンパイルはやったことありません。


そのままでは、できないと思います。

Excelマクロなどでやっていることをコンパイルしたい場合、私はC#で作成していました。
誰かが作成した便利なライブラリが豊富にあるので、それを使えば、わりと簡単に作成できます。
    • good
    • 0
この回答へのお礼

Excel vbaの開発環境では、厳しいですか

vbaやめて、.net 、C#でしたいのですが、visual studioとか使えず、ありがとうございます。

お礼日時:2022/10/27 12:31

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