• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vba ローカルのプログラム呼び出し)

VBAで共有フォルダにあるエクセルファイルを使用しているPCのプログラムを起動させる方法

このQ&Aのポイント
  • VBAで共有フォルダにあるエクセルファイルから、使用者のユーザ名を含んだパスを取得し、そのパスを使用してプログラムを起動させる方法はありますか?
  • VBAのWScript.Networkオブジェクトを使用して、実行しているエクセルファイルを開いているユーザ名を取得することができます。共有フォルダにあるエクセルファイルからユーザ名を取得し、それを用いてプログラムを起動させることができます。
  • VBAで共有フォルダにあるエクセルファイルを使用しているPCのユーザ名を取得し、それに基づいてプログラムを起動させる方法はあります。WScript.Networkオブジェクトを使用して実行しているエクセルファイルを開いているユーザ名を取得し、そのユーザ名を含んだパスを生成することで実現できます。

質問者が選んだベストアンサー

  • ベストアンサー
  • eden3616
  • ベストアンサー率65% (267/405)
回答No.1

ネットワーク上から見た共有フォルダへのアクセスを行うのであればコンピューター名になります。 (\\pcName\共有フォルダ名\プログラムファイル名.exe等) Dim objNetWork As Object Dir pcName As String Dir path As String Set objNetWork = CreateObject("WScript.Network") pcName = objNetWork.ComputerName path = "\\" & pcName & "\共有フォルダ名\プログラムファイル名.exe" 実行者のPC(ユーザーフォールダ内)を参照するのであれば、ユーザー名になります。 (C:\Users\userName\Documents\プログラムファイル名.exe等) Dim objNetWork As Object Dir userName As String Dir path As String Set objNetWork = CreateObject("WScript.Network") userName = objNetWork.UserName path = "C:\Users\" & userName & "\Documents\プログラムファイル名.exe"

monque
質問者

お礼

WOOOOOW!! 勉強になります!ありがとうございます!!

その他の回答 (1)

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.2

No1訂正です。 型宣言部の2行分 Dir→Dim 失礼しました。