※ ChatGPTを利用し、要約された質問です(原文:VBA 共有サーバーからローカルドライブへの接続)
VBA 共有サーバーからローカルドライブへの接続
このQ&Aのポイント
VBAを使用して、共有サーバー内のエクセルファイルから特定のメンバーのローカルドライブ内のエクセルファイルを参照する方法について教えてください。
以前の質問で教えていただいたVBAをベースに、他のメンバーが共有サーバー内のファイルからマクロを実行しても、特定のメンバーのローカルドライブ内のファイルを参照する方法がわかりません。
共有サーバー内のエクセルファイルから、全てのメンバーが特定のメンバーのローカルドライブ内のファイルを参照するVBAを教えてください。
※この質問は、以前の質問で完全解決前に、自分で受付終了としてしまったので、改めて質問させていただくものです。
以前の質問:http://okwave.jp/qa/q9054210.html
【実現を希望したいこと】
エクセルファイル(ファイル(1))を自分のPCのローカルドライブ(Cドライブ)に置いておき、会社内の共有サーバー内にある別のエクセルファイル(ファイル(2))にて、DSUMのVBAを実行して、エクセルファイル(1)のデータをDSUM集計する。
(ファイル(1)内のデータを、ファイル(2)のDSUMマクロのデータベースとして実行するという感じ)
【以前の質問でご教示いただいたVBA】
sub macro1()
application.screenupdating = false
workbooks.open filename:="C:\DB.xlsx" ’拡張子他注意
with thisworkbook.worksheets("Sheet1") ’シート名不明注意
.range("D2").formula = "=DSUM([DB.xlsx]Sheet1!A:D,4,A1:C2)"
.range("D2").value = .range("D2").value
end with
workbooks("DB.xlsx").close false
application.screenupdating = true
end sub
※keithin様より教えていただいたものです。
【現在困っていること】
上記VBAをベースに少し手直したVBAをつかい、私自身が共有サーバー内のファイル(2)からマクロを実行したところ、希望通り動きました。
しかしながら、他のメンバーが共有サーバー内のファイル(2)からマクロを実行したところ、
workbooks.open filename:="C:\DB.xlsx"
の部分がうまいこといきませんでした。まあ、そりゃCドライブ内という記述なので、他メンバー自身のCドライブを参照しに行くという命令になりますもんね。。。
【質問】
前置きが長くなってしまい申し訳ございませんが、共有サーバー内のエクセル(ファイル(2))から、どのメンバーがマクロを実行しても、特定個人(私自身)のローカルドライブ(Cドライブ)内のエクセル(ファイル(1))を参照しにいくVBAを教えていただけないでしょうか。
自分としては workbooks.open filename:="C:\DB.xlsx" の記述の変更が必要と思っています。。。
何卒、よろしくお願い申し上げます。
お礼
ありがとうございます。 希望通り実現できました。 データベースのファイルも、既存共有サーバーに置きたいのですが、ファイル容量がとても大きいため、別に位置づけたかったもので。。 ありがとうございました!