EXCEL VBAでファイルオープンダイアログのプログラムを組む際に、
onedrive下のファイルとPCローカル下のファイルでファイルパスが異なり、
両対応させないと環境によってエラーが起きてしまいます!
そこで私もいろいろしらべてみて両対応できるコード完成しました。
下記のコードは本体EXCELと同じ階層にあるファイルを開くケースのコードになります。
ご参考になれば幸いです。
Dim Path, PathB, PathC As String
Dim aaa, i As Integer
Dim PathBB, PathD
If Left(ThisWorkbook.Path, 5) = "https" Then ←onedrive時のパス検出
PathB = ThisWorkbook.Path
PathBB = Replace(PathB, "//", "/")
PathBB = Split(PathBB, "/")
aaa = UBound(PathBB)
PathC = Environ("OneDriveConsumer")
PathD = PathC
For i = 3 To aaa
PathD = PathD + "\" + PathBB(i)
Next
Path = PathD + "\"
Else ←onedrive以外のパス検出
Path = ThisWorkbook.Path & "\"
End If


コメント