VBA onedriveファイルオープン対応

エクセル

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

コメント

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