Excel VBAで相対パス活用!ファイル開く秘訣

パソコンパソコン・スマホ教室
スポンサーリンク

Excel VBAを使用してファイルを開く際、相対パスを活用する方法は非常に便利で効率的です。

ホームページ・インフラ担当が副業やるってよ!
こんにちは!uri uri(@Uriuri_writer)です。Excel VBAで相対パスを自由に使えるようになると「ファイルの移動や名前の変更に対してリンク切れを起こしにくい」などのメリットがあり、1つ上の活用ができます。この記事では、相対パスを使用してファイルを開く方法についてわかりやすく解説します。

当サイトでは、他にもExcelで業務効率・作業効率を上げる記事を投稿しています。興味があればそちらも合わせてご覧いただけると幸いです。

Excelで秒を時刻に変換!3つの方法で簡単解説
Excelで秒数を時間形式に変換したいと思ったことはありますか? この記事では、Excelで秒を時間に変換する方法を簡単に知ることができます。秒を時間に変換する方法を知っておくことで、データ分析や日常業務がさらに効率的になります。 Exce...
Excelで行を固定!効率的な作業方法をマスターしよう
Excelでの作業が多い方にとって、行を固定する機能は非常に便利です。 この記事では、Excelで行を固定する方法を詳しく解説します。最後まで見ていただければExcel初心者から上級者、パソコンが詳しくないおばあちゃんまで、誰でも簡単に行を...

それではいってみましょー。

スポンサーリンク

相対パスとは?

Excelで使われる相対パスとは、セル参照の方法の一つで、セルの位置を基準にして参照する方法です。

例えば、セルC2からセルA2を参照する場合、実際には同じ行(2)の左側の2列(CからAを引いた列)のセルを参照します。相対セル参照を含む数式をコピーすると、数式内の参照が変更されます。

相対パスを使うことで、リンク先のファイルが移動しても、リンク元のファイルから見た相対的な位置関係でリンクが保持されます。

なので、相対パスのメリットとしては、リンク先のファイルが移動しても、リンク元のファイルから見た相対的な位置関係でリンクが保持される点です。

また、絶対パスに比べて記述量が少なくて済むというメリットがあります。

注意点としては、「C:\Users\ユーザー名\…」のようにユーザー名を含むパスや、「D:\…」のように環境よっては存在しないドライブレターを含むパスは要注意です。

ちょっとここまででわからないという方向けに、実際にExcel VBAでコードを書いていきますね。

わからない人もコードを書いて動かしていけばイメージしやすいと思います。

以下のコードは、相対パスを使用してExcel VBAでファイルを開く一般的なコードです。

'相対パスを使用して
Dim fName As String
Dim mPath As String
mPath = ThisWorkbook.Path
fName = "Test1.xls"
i = Len(mPath) - Len(Replace(mPath, "\", ""))
If i > 1 Then
mPath = Mid(mPath, 1, InStrRev(mPath, "\") - 1)
Workbooks.Open mPath & "\" & fName
End If

カレントフォルダの誤解と正しい理解

カレントフォルダとは、ザックリ言うと、Excelで作業する際に既定で参照する場所のことです。

カレントフォルダは、相対パス指定の起点になるため重要です。

しかし、Excelの場合、前後の「ファイルを開く」操作でカレントフォルダは一定しません。この状況を理解せずにカレントフォルダを使用すると問題が発生することがあります。

相対パスの活用方法

相対パスを使用する際には、カレントフォルダの状態をコントロールする必要があります。以下の方法でカレントフォルダを任意のフォルダに移動させることができます。

'カレントフォルダを任意の場所へ移動
ChDrive ThisWorkbook.Path
ChDir ThisWorkbook.Path

また、ネットワーク上の共有名などのフォルダをカレントフォルダにする場合は、以下のような方法を採ることができます。

'ネットワーク上の共有名などのフォルダをカレントフォルダにする場合
CreateObject("WScript.Shell").CurrentDirectory = ThisWorkbook.Path

まとめ

この記事では、Excel VBAで相対パスを使用してファイルを開く方法について解説しました。以下は、主なポイントの簡単なまとめです。

簡単まとめ

  • 相対パスの基本的な理解と使用方法。
  • カレントフォルダの誤解と正しい扱い方。
  • カレントフォルダのコントロールと相対パスの活用。

これらの知識を活用することで、Excel VBAでのファイル操作がより効率的かつ柔軟になります。

この記事を少しでもためになった!と思ったならコメントやSNSでシェアをしていただけるととても励みになります!これからも、パソコンの作業効率を上げる方法やパソコンのちょっとした疑問や困ったを解決情報を発信していきますので、たまにサイトをチェックしていただけると、とっても嬉しいです(‘ω’)ノ。

SNSのフォローボタンを、ポチってくれるとめっちゃ嬉しいです👍

ではでは、最後までご覧いただきありがとうございました。

ホームページ・インフラ担当が副業やるってよ!

Twitter:@Uriuri_writer

Instagram:@uriuri_writer
Instagram

コメント

タイトルとURLをコピーしました