非表示モジュール内でコンパイルエラーが発生しました | |
---|---|
[195976] 非表示モジュール内でコンパイルエラーが発生しました- ■親トピック/記事引用/メール受信=ON■ □投稿者/ 加藤 -(2023/10/15(22:24)) □U R L/ お世話になります。 10月4日に一般操作のサロンに「アドインの設定方法」と言うタイトルで投稿させていただいたものです。 すごピタというソフトのアドインを登録しようとしたら 非表示モジュール内でコンパイルエラーが発生しました と出ます。 自分なりに色々と調べてみましたがこれはVBAというものの関係みたいです。 VBAが何なのかは全く分かりませんがもしかしたらこちらのサロンにて何かヒントが頂けるかと思い藁をもすがる思いで投稿させていただきます。 一般サロンでは最終的にはすごピタの掲示板で確認します、で終わっていますがそちらのサイトはすでに終わってるようで返事はいただけませんでした。 その掲示板にはエクセル2021の32ビットまでは動作確認が出来ているとの事でしたが私のは2021の64ビットでした。 ビットの意味も分からいので・・・ これに対応できるような対策とか64ビットを32ビットに変換する方法とかありますでしょうか? 現在は2019の64ビットで作動していますので2021を2019にバージョンダウンする方法とかで何とかなるものでしょうか? 質問ばかりで申し訳ありませんが、自分で調べても専門用語が多くなかなか理解できず困っています。 何か良い方法が御座いましたら教えてください、宜しくお願いします。 |
[195977] Re[1]: 非表示モジュール内でコンパイルエラーが発生しました- ■記事引用/メール受信=OFF■ □投稿者/ ヘンリー -(2023/10/16(10:48)) □U R L/ >その掲示板にはエクセル2021の32ビットまでは動作確認が出来ているとの事でしたが私のは2021の64ビットでした。 >ビットの意味も分からいので・・・ 【ビットの説明】 コンピュータの最小単位です。 ビット、バイト、キロバイト、メガバイト、テラバイト… といった感じです。 32ビットを「32車線道路」(以下A道と言います)、 64ビットを「64車線道路」(以下B道と言います)をイメージしてください。 そして、A道であれば、32台のトラック、B道であれば64台のトラックを準備する事になります。 次にA道、B道にそれぞれ一斉にトラックを走らせると思ってください。 そして、それぞれのトラックに「荷物を乗せるトラック」、 「荷物を乗せないトラック」があると思ってください。 荷物を乗せていないトラックを0、 荷物を乗せているトラックを1と仮に表現すると、 以下の様になります。 例) 32ビットの場合(A道) 10110101101101011011010110110101(32桁) 64ビットの場合(B道) 0101010110110101101101011011010110110101101101011011010110110101(64桁) コンピュータ内部では、32ビット(32桁)、 又は64ビット(64桁)を、1つの命令として処理していきます。 (厳密には「0」と「1」ではありません。) Excel(32ビット版)に対して、64台のトラックを一斉に走らせようとしてもできません。 又、Excel(64ビット版)に対して、32台分(Excel32ビット版)だけに、 「荷物を乗せて走れ」「荷物を乗せないで走れ」という命令を出す 残りの32台のトラックがどの様に動いてようか分からないですよね。 従って、基本的には32ビットの命令と、64ビットの命令で違いがあります。 VBAのコードでも、32ビットでしか使えない命令、64ビットでしか使えない命令があるのです。 VBAでは、両方で使えるように「#If」を使って64ビットと32ビットのコードを分けて書きます。 「もし32ビットだったら…」「もし64ビットだったら…」みたいな感じです。 しかし、今回は、メーカー作成のソースコード(非表示モジュール内)を変えられないので、 「32ビットと64ビットので分けて動きなさい」というコードの修正は不可能です。 勝手に変える事は、著作権の問題も出るかもしれません。 >これに対応できるような対策とか64ビットを32ビットに変換する方法とかありますでしょうか? >現在は2019の64ビットで作動していますので2021を2019にバージョンダウンする方法とかで何とかなるものでしょうか? つまり、Excel2019に落としたところで、64ビット版の場合は、正常に動作しない可能性が高いです。 むしろ、Office2021でも32ビット版にすれば、動作するとは思うのですが、 動作検証ができるコンピュータを持っていないので、 「確実にできます」という事はいえません。 調べてみた所、Windowsが64ビットでも、Officeの32ビット版は動作するようです。 説明が分かりにくかったらすみません。 又、「確実にこうすればできる」という回答が出来ず、申し訳ないのですが、 少しでも加藤様の参考になれば幸いと思い掲載してみました。 |
[195978] Re[2]: 非表示モジュール内でコンパイルエラーが発生しました- ■記事引用/メール受信=ON■ □投稿者/ 加藤 -(2023/10/16(15:37)) □U R L/ ヘンリー様 丁寧な解説ありがとうございました。 ビットの事は何となくですが分かりました。 今日古い方のPCを確認しましたら32ビットでした、ですので今回のアドインがうまくいかないのは64ビットだからだと思います。 何とか今のPCに32ビットをインストールできないか考えてみます。 本当にありがとうございました。 > >その掲示板にはエクセル2021の32ビットまでは動作確認が出来ているとの事でしたが私のは2021の64ビットでした。 > >ビットの意味も分からいので・・・ > > 【ビットの説明】 > コンピュータの最小単位です。 > ビット、バイト、キロバイト、メガバイト、テラバイト… > といった感じです。 > > 32ビットを「32車線道路」(以下A道と言います)、 > 64ビットを「64車線道路」(以下B道と言います)をイメージしてください。 > そして、A道であれば、32台のトラック、B道であれば64台のトラックを準備する事になります。 > > 次にA道、B道にそれぞれ一斉にトラックを走らせると思ってください。 > そして、それぞれのトラックに「荷物を乗せるトラック」、 > 「荷物を乗せないトラック」があると思ってください。 > 荷物を乗せていないトラックを0、 > 荷物を乗せているトラックを1と仮に表現すると、 > 以下の様になります。 > > 例) > 32ビットの場合(A道) 10110101101101011011010110110101(32桁) > 64ビットの場合(B道) 0101010110110101101101011011010110110101101101011011010110110101(64桁) > > コンピュータ内部では、32ビット(32桁)、 > 又は64ビット(64桁)を、1つの命令として処理していきます。 > (厳密には「0」と「1」ではありません。) > > Excel(32ビット版)に対して、64台のトラックを一斉に走らせようとしてもできません。 > 又、Excel(64ビット版)に対して、32台分(Excel32ビット版)だけに、 > 「荷物を乗せて走れ」「荷物を乗せないで走れ」という命令を出す > 残りの32台のトラックがどの様に動いてようか分からないですよね。 > > 従って、基本的には32ビットの命令と、64ビットの命令で違いがあります。 > VBAのコードでも、32ビットでしか使えない命令、64ビットでしか使えない命令があるのです。 > VBAでは、両方で使えるように「#If」を使って64ビットと32ビットのコードを分けて書きます。 > 「もし32ビットだったら…」「もし64ビットだったら…」みたいな感じです。 > しかし、今回は、メーカー作成のソースコード(非表示モジュール内)を変えられないので、 > 「32ビットと64ビットので分けて動きなさい」というコードの修正は不可能です。 > 勝手に変える事は、著作権の問題も出るかもしれません。 > > >これに対応できるような対策とか64ビットを32ビットに変換する方法とかありますでしょうか? > >現在は2019の64ビットで作動していますので2021を2019にバージョンダウンする方法とかで何とかなるものでしょうか? > つまり、Excel2019に落としたところで、64ビット版の場合は、正常に動作しない可能性が高いです。 > > むしろ、Office2021でも32ビット版にすれば、動作するとは思うのですが、 > 動作検証ができるコンピュータを持っていないので、 > 「確実にできます」という事はいえません。 > 調べてみた所、Windowsが64ビットでも、Officeの32ビット版は動作するようです。 > > 説明が分かりにくかったらすみません。 > 又、「確実にこうすればできる」という回答が出来ず、申し訳ないのですが、 > 少しでも加藤様の参考になれば幸いと思い掲載してみました。 > |
[195979] Re[3]: 非表示モジュール内でコンパイルエラーが発生しました- ■記事引用/メール受信=OFF■ □投稿者/ ねむねむ -(2023/10/16(15:47)) □U R L/ これが参考になるだろうか? h ttps://support.microsoft.com/ja-jp/office/64-%E3%83%93%E3%83%83%E3%83%88%E7%89%88%E3%81%BE%E3%81%9F%E3%81%AF-32-%E3%83%93%E3%83%83%E3%83%88%E7%89%88%E3%81%AE-office-%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%99%E3%82%8B-2dee7807-8f95-4d0c-b5fe-6c6f49b8d261 |
[195980] Re[4]: 非表示モジュール内でコンパイルエラーが発生しました- ■記事引用/メール受信=OFF■ □投稿者/ ねむねむ -(2023/10/16(15:49)) □U R L/ おっともしプリインストール版であればこちらも。 h ttps://answers.microsoft.com/ja-jp/msoffice/forum/all/%E3%83%97%E3%83%AC%E3%82%A4%E3%83%B3%E3%82%B9/59a0d3cb-bbe1-480d-a796-c5d9fc1a6eca |
[195981] Re[5]: 非表示モジュール内でコンパイルエラーが発生しました- ■記事引用/メール受信=OFF■ □投稿者/ 加藤 -(2023/10/17(20:32)) □U R L/ ヘンリー様、ねむねむ様 色々とありがとうございました。 本日エクセルを32ビットに再インストールしなおしたら解決しました。 本当に助かりました、ありがとうございました。 |
[195982] Re[6]: 非表示モジュール内でコンパイルエラーが発生しました- ■ / 記事引用/メール受信=OFF■ □投稿者/ 加藤 -(2023/10/17(20:43)) □U R L/ 解決済にするのを忘れておりました、ありがとうございました。 |
このトピックに書きこむ |
---|