けっこう、前にあったのに今探すと見つからないなんてのが多くてね。
今回は Access でせっかくツールを作ったのに動いてくれないことがあってね。その個人の備忘録としてです。
環境によってメッセージも変わったりしますし、ちゃんと動くかは検証してみて利用してね。
まぁ、そんなに需要はないだろうけど。。。
Access で作ったツールが配布先でエラーとなる件、配布先はほとんどが Runtime を使用して配布方法はダウンロードサイトを使用。
ほとんどは問題なく実行できてるのに一部でエラーとなるので困ってしまいました。
検索とCopilotで先人たちの足跡を探すのだけど、なかなか当たらなくてね…
解決まで辿り着くのに苦労したので記録として残しておきます。
□1つ目
Access でツールを作って zip で圧縮して他のパソコンに配布したところ、以下のメッセージが表示されることがあった。
展開先はほとんどがRuntimeを使用、フォルダのプロパティ、セキュリティタブのユーザーにはフルコントロールがチェックされている。
「セキュリティに影響を及ぼす可能性のある問題点が検知されました。
このファイルソースが信頼できないためMicrosoftによりマクロの実行がブロックされました。
セキュリティの制限の為Microsoft Accessで開くことができません。」
□2つ目
また、一部のパソコンで次のメッセージが表示され、ツールが使えなかった。
Access で作ったツールを実行すると以下のメッセージが表示。
「Microsoft Access
実行エラーが発生したため、このアプリケーションの実行は中断しました。
アプリケーションを続行できません。
システムはシャットダウンされます。」
■1つ目の件
zipファイルファイルに、「exeファイル(実行形式ファイル)」など、実行するとPCの環境に影響を受ける可能性のファイルが含まれている場合で、かつ、そのzipファイルが自身のPCで作成した以外のファイル(例:ブラウザからダウンロードしたファイル等)である場合に発生することがある。
1.zipファイル選択し、右クリックメニューから「プロパティ」を選択します。
2.zipファイルの「プロパティ」ダイアログが表示されますので、「全般」タブの [セキュリティ:このファイルは他のコンピューターから取得したものです。このコンピューターを保護するため、このファイルへのアクセスはブロックされる可能性があります。] の「許可する」にチェックを入れ、ブロックを解除します。
3.「プロパティ」ダイアログをOKで閉じます。
注意:一度、ブロックを解除すると、再度、ブロックする設定には戻せません。!自身で取得した以外のファイル(例:ダウンロードした覚えがないのにいつの間にかあったファイル、出所不明のファイルなど)は危険ですので、ブロックの解除はしないようにしてください。
参考情報:https://dorocosoft.sakura.ne.jp/faq/faq_failed_extract_zip_access_blocked.htm
■2つ目の件
こちらもセキュリティ絡みかなと思ったのだけど、どちらかというとRuntime…
Copilotさんによると…
1.Windows Updateによる不具合:
最近のWindows Updateによって、Accessのアプリケーションが影響を受けることがあります。
特定のKB(Knowledge Base)番号のパッチが問題を引き起こすことがあります。
まずは、適用されているKBパッチを確認してください。
2.VBAエディタでコンパイル:
ランタイムモードでは通常のAccessとは異なり、プログラム内の軽微な不具合でもエラーが発生することがあります。
VBAエディタの「コンパイル」機能を使用して、問題のある箇所を特定しましょう。
3.Runtimeの再インストールやバージョン変更:
他の端末では問題が発生していない場合、インストールされているAccess Runtime自体が問題を引き起こしている可能性があります。
Runtimeを再インストールするか、異なるバージョンのRuntimeを試してみてください。
4.RuntimeモードでのAccessアプリケーションの起動:
Access本体がインストールされていない端末でも、RuntimeモードでAccessファイルを起動できます。
コマンドプロンプトで以下のコマンドを実行してみてください。1
MSACCESS.EXE /runtime "C:\test.accdb"
5.エラー処理を入れる:
エラーが発生する箇所にエラー処理を追加して、具体的な原因を特定しましょう。
エラーが出た際にメッセージボックスを表示するなどの方法で、問題の箇所を特定できるかもしれません。
ここでは、3.の対応、Access Runtime 2013 をアンインストールして 365 Access Runtime を入れなおすことで復旧しました。
■ついでに Access Runtime 環境で「信頼できる場所」設定する方法が書かれているサイトを見つけたのでメモ
1.ネットワーク上の信頼できる場所を許可する(2016 から 2021、今のところ 365 も?)
「AllowNetworkLocations」をDWORD値で「1」で作成。
2.信頼できる場所を追加する
「Trusted Locations」キーを右クリックして、リストから「新規」⇒「キー」を選択。
キー名はLocation+数字。重複しないように数字を選ぶ。
作成したLocationの中に文字列で登録したい信頼できる場所のパスを入力。
右クリックして新規⇒「文字列値」を選択、作成されたREG_SZ(文字列値)の名前を"Path"にし
Path値を開いて、値のデータにUNCパスを入力
3.信頼できる場所のサブフォルダを有効にする
登録したいキーの右ペインで右クリック、
「新規」⇒「DWORD値」を選択して、「AllowSubfolders」値を作成、
値のデータを「1」とする。
詳しくはこちらを
https://blog.treedown.net/entry/2022/11/22/010000
ほんとにありがたいです。
♪
Ballet Mécanique - やくしまるえつこ+砂原良徳
www.youtube.com
こっちもね
www.youtube.com