OneDrive で共有されたエクセルファイルをVBAで開く方法

ガラパゴスタディーの小川です。
このメールは「パソコン仕事5倍塾」メールマガジン購読者の方にお送りしています。

「VBAを使って作成したファイルをOneDriveで共有した際のファイルパスの書き方について教えてほしい」という相談を受けました。
AIに聞いても解決できなかったそうです。

ところが、僕が聞くと、AIは一発で正しい実装を教えてくれました。

この差はどこから生まれるのでしょうか。

AIへの質問の仕方には、コツがあります。そのコツを踏まえたうえでの質問をできるかどうかがカギ。
今日はそんなお話。


定額コースのサポートで、なんでも相談会のようなものを月に3回実施しています。
先日日曜日は、以下の3件の相談を受けました。

  • 上流から流れてくるデータをマクロで処理するときのエラーチェックのノウハウについて教えてほしい
  • VBAを使って作成したファイルをOneDriveで共有した際のファイルパスの書き方について教えてほしい
  • Python で自分で書いた「輸出用コンテナに貨物を詰め込むプログラム」のバグを修正してほしい

今日は、このうちの2番目についてです。

ローカルのフォルダ内にあるファイルならば、以下のようなコードで簡単に開けます。

Sub OpenLocalExcelFile()  
    Dim wb As Workbook  
    Dim filePath As String  

    ' ローカルフォルダ内のファイルのフルパスを設定  
    filePath = "C:\Users\YourUserName\Documents\example.xlsx"  

    ' ファイルを開く  
    Set wb = Workbooks.Open(filePath)  

    ' ファイルを開いた後の処理を記述する  

    ' wb.Close ' ファイルを閉じる(必要に応じて)  
End Sub


ところが、質問者さんが OneDrive でファイルを共有したら、このコードではファイルを開けなくなった。
さあ、どうしたら良いのだろうというお話。

AIに相談しても、正解を得られなかったそうです。

という話をうけて、僕もAIに質問してみました。

受講生さんと画面共有しながら claude.ai, gemini, chatgpt の3つに聞いてみましたが、どれも一発で正解を提供してくれました。
だいたい以下のようなコードです。

Sub OpenOneDriveExcelFile()  
    Dim wb As Workbook  
    Dim fileURL As String  

    ' OneDriveで共有したエクセルファイルのURLを設定する  
    fileURL = "https://onedrive.live.com/yourfileURL"  

    ' ファイルを開く  
    Set wb = Workbooks.Open(fileURL)  

    ' ファイルを開いた後の処理を記述する(例えばデータを読み込む、処理するなど)  

    ' wb.Close ' ファイルを閉じる(必要に応じて)  
End Sub


なるほど。ファイルのフォルダパスを書くところを、OneDriveにあるファイルのURLを書くように変更すればよいのですね。

...ということで、受講生さんは僕が一発で解決したのにかなりびっくりされていました。

僕がした質問は、以下のようなものでした。

excel vba 関連です。

workbooks.open で パスを指定してファイルを開くことができますが、同様のことを one drive で共有したエクセルファイルに対してもできるものなのでしょうか?識別子の指定方法次第で可能、とかですかね?

相談者さんのAIへの質問は、もっとざっくりした、以下のようなものだったとのこと。

one drive で共有したファイルがマクロで開けない。パスが違うみたい。どうしたらいい?

聞かせてもらった瞬間、「そりゃそうだよなぁ」と思いました。
ただ、相談者さんの質問のようなものを僕のした質問のレベルまでブラッシュアップするにはどうしたら良いのだろうとも思いました。

AIからの回答は、質問の仕方次第でガラリと変わります。
ただ、「上手な質問の作り方」みたいなノウハウもあるなぁ...と思いました。

次回のメールでは、その「AIに質問するときの、上手な質問の作り方」について書きたいと思います。

このメールを読んだあなた自身も、僕のした質問と受講生さんの質問とを見比べつつ、以下のことについてちょっと考えてみてください。

  • どう質問すると、よい回答が得られるのだろう
  • この受講生さんにアドバイスするならば、どんなことをどう伝えればよいだろう

エクセルマクロ基礎編+演習セット、おすすめです。
「エクセルマクロははじめて」という方や、「我流で書いているけど、いまいちちゃんと書けている気がしない」という方へ。
https://forum.pc5bai.com/lesson/course_set/vba-basic-with-exercises/

フィードバックお寄せください

【ご意見・ご感想をお聞かせください】
今回のメルマガやデモ動画についてのフィードバックをお待ちしています。
以下のリンクからお気軽にどうぞ:
https://forum.pc5bai.com/news/feedback/how-to-open-one-drive-shared-excel-file-using-vba

公開日時: 2025/04/15 11:30