人生最悪の忘れ物

お世話になります。VBAを勉強中ですが、下記パスにある画像を呼び出すVBAを記述しています。
下記では私のパソコンでは処理できますが、他の人では処理できません。
デスクトップやマイドキュメントでの処理はわかるのですが、下記の場合はどうすればよろしいのでしょうか?ご教示をお願いします。
※WS141は私のパソコン番号です。

"C:\Users\WS141\会社グループ名\会社名#GROUP - 画像管理\全商品画像\"

A 回答 (3件)

こんにちは



質問者様のPCに他のPCからアクセスさせたいという意味でしょうか?
その場合は、ネットワーク経由のディレクトリ+質問者様のPC名(=ユーザ名ではない)になると思いますが、一度、他のPCからアクセスして、どのようになっているかを確認なさるのが宜しいでしょう。

ただし、無条件でアクセスしようとすると、質問者様のPCがONになっていないと、エラーが発生します。
また、セキュリティ上、他のPCからのアクセスを許可していない場合も同様です。


それとも、各PC内にそれぞれ、
"C:\Users\XXX\会社グループ名\会社名#GROUP - 画像管理\全商品画像\"
というディレクトリがあって、ユーザ名の部分だけを変えたいという意味でしょうか?

こちらであれば、特殊フォルダのパスから作成可能です。
ユーザ名までのパスには個別の名称がつけられてはいないようですので、例えばDesktopを取得して、必要な部分だけ抜き出せば宜しいでしょう。
(共通部分は、これに連結すれば宜しいかと)
p = CreateObject("Wscript.Shell").SpecialFolders("Desktop")
p = Left(p, Len(p) - 7)
MsgBox p

とは言え、こちらも必ずパスが通っている保証があるとは思えないので、アクセスする前にディレクトリの存在をチェックをする必要がありそうに思われます。
なお、こちらの場合は、同じ画像データが全てのPCにあるという非効率な状態であるようにも思われますので、対象となっているデータを共有サーバ等に移動すれば、ご質問のようなことはなくなり、固定アドレスでアクセスできるようになるものと推測されます。
    • good
    • 3
この回答へのお礼

回答ありがとうございました。記載いただいた記述で応用できそうです!
やってみます。
画像はクラウドに入っており、共有になっています。各社員のパソコンのエクスプローラから閲覧も可能です。その際のパスがそれぞれの社員の番号が入っております。それを除きたかったのです。

お礼日時:2022/09/02 15:01
    • good
    • 0
この回答へのお礼

回答いただきありがとうございました。

お礼日時:2022/09/02 16:43

そもそもそのファイルは、他の人のパソコンからアクセスできるのでしょうか?


そのときのパスは?
    • good
    • 0
この回答へのお礼

ありがとうございます。
他の人のエクスプローラでは
"C:\Users\●●●\会社グループ名\会社名#GROUP - 画像管理\全商品画像\"  となります。●●●が人によって違います。
SharePointからの共有フォルダです。

お礼日時:2022/09/02 13:39

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


おすすめ情報