ThisWorkbook.PathがURL(https://...)を返すようになった?
結論
2021/365ではOneDrive/SharePointファイルのPathがURLを返すようになりました。
詳しい解説
Excel 2021/2024およびMicrosoft 365では、OneDriveやSharePointの同期フォルダからファイルを開いた場合、ThisWorkbook.Pathがローカルパスではなくクラウドストレージ側のURLパスを返す仕様に変更されました。ローカルパスを前提にしたVBAコード("\"で分割する処理等)は修正が必要です。
執筆・検証:田中 けんた|Excel歴15年・MOS資格保持
バージョン対応
| Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|
| ローカルパス | ローカルパス | URL | 対応 | URL |
実務での使用例
ファイルパスを取得するVBAコードの修正
OneDriveに保存したブックで ThisWorkbook.Path を使うと "https://..." が返る。ローカルパスを取得するには Environ("OneDrive") を使う必要がある
If InStr(ThisWorkbook.Path, "https://") > 0 Then
localPath = Environ("OneDrive") & ...
End If