Access 2013で作成したアプリをMicrosoft 365で開くとエラー「データベースに含まれているVBAプロジェクトを読み取れないため...」が出る。

Anonymous
2023-07-22T15:20:30+00:00

Access2013で作成したアプリはWindows10で問題なく使用できましたが、Microsoft365にアップデートすると「データベースに含まれているVBAプロジェクトを読み取れないため…」というエラーが出て、使えません。

この問題は2017年以来このコミュニティでも何度も質問されて、様々な対応策が提案されていましたが、当方の問題はどの対処法を使っても解決されませんでした。参考のため私の環境は以下の通りです。

以前 (問題は出ない)

Windows10 Pro 64ビット

バージョン:22H2

ビルド:19045-3208

Access 2013

バージョン:10.0.19045

ビルド:19045

現在 (問題が出る)

Windows10 Pro 64ビット

バージョン:22H2

ビルド:19045-3208

Microsoft 365

バージョン:2307

ビルド:16.0.16626.20028 クイック実行 32ビット

このような場合の常とう手段として、Microsoft356で新規のデータベースを作ってそこに元のDB のすべてのオブジェクトをコピーしようとしましたが、「プロジェクトが見つかりません」とかわされてしまいます。

この問題はVBAの言語の問題のようですが、6年も経ってマイクロソフトは修正版を作れないのでしょうかね?当方のアプリは50以上のプロジェクト、さらにフォームとリポートにプログラムが含まれているので、Microsoft365ですべて書き直すというのは膨大な仕事になります。どなたか、とにかく裏技でも何かこの苦境を超える方法を教えていただけるとありがたいのですが。

Microsoft 365 と Office | Access | ビジネス向け | その他

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

11 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2023-08-04T14:26:51+00:00

    Hebikuzureさん

    小まめなバージョンアップに抵抗がある人も少なくないようですが、データの互換性を考えると少なくともバージョンアップは2世代以内になるようにしたほうが安全ですね。

    Access2016、19のリリースノートを見て、私のプログラムに全く付け足しするものがなかったので無視していました。私のクライアントのほとんどはMicrosoft365に切り替えていますが、コンパイルされたaccde版を使用する限りは問題が出ないので延び延びにしていました。

    今回の問題では、可能であれば Access 2016 や Access 2019 で問題なく開けるかどうか確認されても良いでしょう。それで開けるようであれば、開けたバージョンで保存しなおして、その上で Microsoft 365 の Access で開けるか試してください。

    Access2016を探して、それが解決策になるか調べてみます。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2023-08-04T14:09:25+00:00

    simo-kさん

    早速投稿してみます。日本語のエラーメッセージが英語では何のかを調べてみます。

    増沢

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Hebikuzure aka Murachi Akira 335.3K 評価のポイント MVP ボランティア モデレーター
    2023-08-03T01:43:40+00:00

    アプリケーションのバージョンを変更(アップグレード)する場合、通常バージョンが離れれば離れるほど互換性の問題が起きやすくなります。

    Microsoft 365 の Access は Access 2021 よりさらに新しいバージョンなので、Access 2013 から見ると4世代の差になります。

    小まめなバージョンアップに抵抗がある人も少なくないようですが、データの互換性を考えると少なくともバージョンアップは2世代以内になるようにしたほうが安全ですね。

    今回の問題では、可能であれば Access 2016 や Access 2019 で問題なく開けるかどうか確認されても良いでしょう。それで開けるようであれば、開けたバージョンで保存しなおして、その上で Microsoft 365 の Access で開けるか試してください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. simo-k 96,220 評価のポイント ボランティア モデレーター
    2023-08-02T18:00:04+00:00

    この問題を抱えているのは私だけとは信じがたいのですが、日本ではアクセスのフォーラムがないのでしょうかあまり抗議の声が聞こえてきません。

    Microsoft Q&A で聞いてみる手もありそうですね。

    タグで管理されているので、必要に応じてタグ追加すればいいかと。

     Microsoft Q&A (タグ:Access)

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  5. Anonymous
    2023-08-02T11:34:01+00:00

    Makapuさん、返信ありがとうございます。ほかの用でこちらに戻ってくるのが遅くなりました。

    過去に同様の問題についていくつも質問が出されて、Makapuさんが丁寧に返答されていましたね。それらはすべて拝見いたしました。そこでの解決法は私の方でも試しましたが、残念ながらあてはまりませんでした。マイクロソフトが修正版を出したという記述もありましたが、もうそれは数年前なので、現在の最新のダウンロードではこの問題は解決されているものと思いましたが、そうではないようですね。

    考慮した手について箇条書きでまとめました。

    1.半角カタカナが変数の名前等に含まれていると問題が発生する。

      当方のプログラムでは半角カタカナが含まれていません。

      https://answers.microsoft.com/ja-jp/msoffice/forum/all/%E8%A4%87%E6%95%B0%E3%81%AEaccess%E3%83%95/383c19d1-775e-4d03-94c9-699491977b94

    2.オブジェクトを空のDBにコピーする。

      Microsoft365で新規にDBを作成して、そこに前のDBからオブジェクトをインポートしようとしましたが、オブジェクトが認識できませんというメッセージでコピーができません。

      https://qiita.com/waokitsune/items/75ac00e47dee535724ea

    3.互換モードで開く。

      MSACC.EXEのプロパティで互換モードをチェックしましたが、変化なし。

    1. VBAで日本語が含まれているモジュール名を開くとエラーになる。

      当方のプログラムには日本語を含むオブジェクト名が多数含まれています。これをすべて英語名に直すとなると大掛かりな仕事になります。これについてはマイクロソフトから修正版が出ている(2017/10/4)ということですが、すでに5年前のことなので、これは現在の版では問題ではないはずだと思います。

    念のために、私のプログラム環境について付け足しですが、VMWareで新しくVirtual Machineを作成して日本語のWindows10(32ビット)をインストールしました。そこに新規にMicrosoft365の日本語版32ビットをダウンロード、インストールしました。

    この問題を抱えているのは私だけとは信じがたいのですが、日本ではアクセスのフォーラムがないのでしょうかあまり抗議の声が聞こえてきません。

    いろいろ試して、これ以上解決策を探す時間を使いたくはないのですが、せめて現在のプログラムのオブジェクトをMicrosoft365のアクセスにコピーできれば多少の修正はするつもりですが、すべて一から書き直すというのはかなり抵抗があります。何か他に良いお知恵があれば助かります。よろしくお願いいたします。

    増沢

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません