実現したいこと
共有フォルダ内にあるエクセルのマクロを動作させたいです。
発生している問題・分からないこと
マクロを動作させようとすると「このファイルソースが信頼できないため、Microsoftによりマクロの実行がブロックされました。」と表示されます。
エラーメッセージ
error
1このファイルソースが信頼できないため、Microsoftによりマクロの実行がブロックされました。
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
以下、試してみたことです。
「\\100.100.1.10\test」というアドレスにある共有フォルダ「work.xlsm」のマクロを動かそうとしているとします。
①エクセルから信頼できる場所に登録。
この際、hostsファイルでIPとドメイン名「AAA」を紐づけして、「\\AAA\test」を信頼できる場所に登録しています。
疎通確認を行い、IPでもドメイン名でも通信ができていることを確認。
②トラストセンターのVBAマクロを有効にするにチェックを入れる。
③エクセルの[プロパティ>全般>セキュリティ>許可する]を試そうとしたところ、項目自体がなかった。
補足
IPではファイルにアクセスできるが、ドメイン名だとアクセスできません。
「綴りを確認して再実行してください」と表示されてしまいます。
環境や条件
・Windows10
・エクセルファイルは共有フォルダ内で動かさなければならない。
> 「100.100.1.10\test」というアドレスにある共有フォルダ「work.xlsm」のマクロを動かそうとしているとします。
ここでいう「アドレス」とはUNCパスのことだと思いますが、「\\100.100.1.10\test」の間違いではありませんか。
> この際、hostsファイルでIPとドメイン名「AAA」を紐づけして、「\AAA\test」を信頼できる場所に登録しています。
ドメイン名とは例えば "host1.example.com" と言うホスト名があって、この内"example.com"の部分がドメイン名にあたります。
そうではなく、"AAA"が"host1.example.com"だとしたら、「\host1.example.com\test」と設定している、と言うことでしょうか?
「\\AAA\test」をエクスプローラーで開けないのでしょうか。私の職場でもIPでは実行できなくて、マシン名?ホスト名?でのアクセスにしたらマクロが実行できるという事象があります。
そのためまずは、エクスプローラーで\\AAAにアクセスできるようにしてからtestに行って、マクロを実行するという必要があるかと思います。
「ドメイン名だとアクセスできません。」とのことですが、名前の前のエンマークが一つだったりしていませんか?
dodox86さん、ご質問ありがとうございます。
>「アドレス」とはUNCパスのことだと思いますが、「\\100.100.1.10\test」の間違いではありませんか。
ただしくは「\\100.100.1.10\test」です。書き損じ失礼いたしました。
>"AAA"が"host1.example.com"だとしたら、「\host1.example.com\test」と設定している、と言うことでしょうか?
信頼できる場所に「\\100.100.1.10\test」を登録したいのですが、IPアドレスを用いたパスでは登録できないそうです。そこでIPアドレス部分をAAAと紐づけ、「\\AAA\test」と登録しています。そしてこの「\\AAA\test」をエクスプローラー上部のパス入力欄に打ち込んでもアクセスができない状況です。
xail2222さん、ご質問ありがとうございます。
>エクスプローラーで\\AAAにアクセスできるようにしてからtestに行って、マクロを実行するという必要があるかと思います。
やはりアクセスできない時点で問題があるのですね。IPでアクセスできてAAAでアクセスできない原因の解決法はなにかございますでしょうか?
@質問者 assembleさん
記載ミスと思われるところがあったりして誤解し易いので、まず状況を整理しましょう。
最終目的としてはネットワーク上のサーバーの共有フォルダー上にあるマクロ付きの*.xlsmファイルをWindows 10のクライアントPCで開いて、そのマクロを実行したいのですよね。
で、そのマクロが実行できないのでどうしたらよいのか、と言うのがご質問で間違いないですね。
さらにその前に、マクロ付きExcelファイルの話は置いておいて、現状の「事実」としては
1. そのクライアントPCのWindowsのエクスプローラーのアドレスバーに、UNCパスで「\\100.100.1.10\test」を入力すると、その共有フォルダー自体は開ける。(IPアドレス自体は単なる例)
2. 共有フォルダーを持っているサーバーのIPアドレス100.100.1.10で、そのIPアドレスはWindows 10のクライアントPC上のhostsファイルに登録することで、"AAA"と言うホスト名(ドメイン名ではありません)で解決できて、pingコマンド等で疎通は取れていることを確認している。
例:コマンドプロンプトから以下のようにして疎通を確認。
C> ping AAA
3. クライアントPCのWindowsのエクスプローラーのアドレスバーに、UNCパスで「\\AAA\test」と入力しても、エクスプローラー上で共有フォルダーが開けない、
と言うことで間違いありませんか?
「\\100.100.1.10\test」を共有しているPCを端末Aとします。
共有フォルダにアクセスするPCを端末Bとします。
端末Bから「\\100.100.1.10\test」にてアクセスできる。
端末Bから「\\AAA\test」にてアクセスできるようにしたい。
そのため、hostsファイルを編集したとのことですが、
端末Bのhostsファイルを編集したのでしょうか?
もし、端末Bのhostsファイルの編集が正しければ、下記が成功するはずです。
・ping 100.100.1.10
・ping AAA
上記の結果はどうでしょうか?
端末再起動はしましたか?経験則的にそれで治った場合があった気がします
dodox86さん
返信が遅れてしまい申し訳ありません。
また、つたない質問文で申し訳ありません。dodox86さんに整理していただいた現状で間違いありません。
ping AAA, ping 100.100.1.10ともに疎通が確認できています。
kikukikuさん
ご質問ありがとうございます。
>端末Bのhostsファイルを編集したのでしょうか?
端末Bのhostsファイルを編集しております。
>ping 100.100.1.10、ping AAAの結果はどうでしょうか?
「ping 100.100.1.10」「ping AAA」での疎通は確認が確認できております。
xail2222さん
返信が遅れてしまい申しわけありません。
>端末再起動はしましたか?経験則的にそれで治った場合があった気がします。
何度か端末を再起動しておりますが、状態に変化はありませんでした。
Microsoft公式のトラブルシューティングのページがございましたので共有いたします。
既にご確認及びお試し済みでしたらご放念ください。
■Windows 10 のエクスプローラーから共有フォルダーにアクセスできない
https://learn.microsoft.com/ja-jp/troubleshoot/windows-client/networking/cannot-access-shared-folder-file-explorer
ホスト名で接続できない件については、編集したファイルが間違っている、書き方がまちがっているといった基本的なところは大丈夫でしょうか?
マクロがブロックされる件については、信頼済みのほうではなく、ローカルイントラネットのほうに追加しないといけないのではないでしょうか。次のページの、対処法③ - 2 。
https://oa-center.co.jp/2022/10/10/excel_macro/
ホスト名で接続できない問題が気になってるので、こちらについてですが
ping -a ipアドレスで取得したホスト名ではどうでしょう。
xxx.yyyy.zz
とか帰ってくれば、xxxの部分がマシン名だと思うのですが
これで、接続してみてはどうでしょうか。
hostsの方は何か設定ミスがありそうな気がします・・・
bsdfanさん提示のローカルイントラネットの設定は
私も試してなかったので、明日試してみよっと。
