ThisWorkbook.PathがURL(https://...)を返すようになった?
Excel 2021およびMicrosoft 365では、OneDriveやSharePointの同期フォルダからファイルを開いた場合、ThisWorkbook.Pathがローカルパスではなくクラウドストレージ側のURLパスを返す仕様に変更されました。ローカルパスを前提にしたVBAコード("\"で分割する処理等)は修正が必要です。
📊 バージョン対応
2016
△
ローカルパス
2019
△
ローカルパス
2021
△
URL
365
△
URL
📋 実務での使用例
💼 ファイルパスを取得するVBAコードの修正
OneDriveに保存したブックで ThisWorkbook.Path を使うと "https://..." が返る。ローカルパスを取得するには Environ("OneDrive") を使う必要がある
If InStr(ThisWorkbook.Path, "https://") > 0 Then
localPath = Environ("OneDrive") & ...
End IfVBAThisWorkbook.PathOneDriveSharePointURL
関連する Q&A
✅ 2016✅ 2019✅ 2021✅ 365
ExcelのVBAランタイムはバージョンで異なる?
VBAランタイムは全バージョンでバージョン7.1で統一されています。
VBA・マクロ·中級·2025-01-15
✅ 2016✅ 2019✅ 2021✅ 365
32bitから64bitのExcelに移行する際、VBAで注意すべき点は?
64bit移行時はPtrSafe宣言とLongPtr型への変更が必要です。
VBA・マクロ·上級·2025-01-15
✅ 2016✅ 2019✅ 2021✅ 365
新しいバージョンのExcelでVBAオブジェクトモデルに変更はある?
Office 2016以降では大きなオブジェクトモデルの変更はありません。
VBA・マクロ·上級·2025-01-15