マクロの参照元ファイルが変わった際の対応 回答する


#VBA

皆さまはじめまして、ATAMADEKKACHIです。


少し漠然とした質問で申し訳ございませんが、会社で使っているマクロの効果的な運用方法がないか悩んでいます。


現在はユーザが頻繁に フォルダの階層を変えたりファイル名を変えたりする都度、ソースコードを変えていますが、
エクセルビールのコミュニティの皆さまはどう対応されていますか?

ポイントとしては、 マクロを書けない人でも容易に参照元ファイルを変更できる ような仕様ができればと思うのですが、良いアイディアをお持ちの方はいますか?

よろしくお願いいたします!

Aka 2019.01.14 10:17:24 4843

コメントする

コメントするには ログイン していただく必要があります。

回答 2

エクセルシート内の指定のセルに入力してもらい、そのセルの値をVBA側から参照するのはいかがでしょうか?

ユーザーが意図した形式で入力するのが不安、または、少しでもユーザーの手間を減らしたい場合は、フォルダ選択のダイアログを表示させるのも良いかと思います。

下の例は、開発タブからフォームコントロールのボタンを挿入し、そのボタンに対して次の関数を割り当てています。

2019-01-15_22-11-35.png

Sub 選択ボタン_Click()
    Set Dialog = Application.FileDialog(msoFileDialogFolderPicker)
    If Dialog.Show = True Then
        ActiveSheet.Range("C2").Value = Dialog.SelectedItems(1)
    End If
End Sub

ボタンをクリックすると次のようなダイアログが表示されます。

2019-01-15_22-18-17.png

shirohonoka 2019.01.15 22:19:32 (2019.01.15 22:22:29 更新)

Aka 2019.03.11 14:03:07
ありがとうございます!このような対応をすればユーザも必要であれば適宜参照元を変更すれば良いわけですね!ご丁寧にありがとうございました!

コメントする

コメントするには ログイン していただく必要があります。

どの道「運用でカバー」的なやり方にならざるを得ないと思うので、

フォルダごと移動&参照される側のファイル名は固定

というやり方を提案します。

http://akashi-keirin.hatenablog.com/entry/2018/01/25/194242
http://akashi-keirin.hatenablog.com/entry/2017/12/02/182334

「フォルダごと移動&参照される側のファイル名は固定」というルールさえ徹底すれば、ユーザサイドでは何もしなくてよいので、比較的安全だと思います。

競輪太郎 2019.01.20 07:20:21

コメントする

コメントするには ログイン していただく必要があります。

回答する
質問に回答するには ログイン していただく必要があります。
一覧に戻る