前提・実現したいこと
SharePoint上に置いたMicrosoft AccessのデータベースファイルにローカルPCのExcel VBAで作成したプログラム(マクロ)からアクセスしたいと考えています.なお,OneDriveを使用せず直接ローカルPCからSharePoint上のファイルへアクセスしたいと思いますが可能でしょうか?
SharePoint上のMicrosoft Accessのデータベースファイルのパスをどのように記述すれば良いか分りません.
いくつか試してみましたがエラーが出てうまくいきません.
どなたか解決策をご指南頂けないでしょうか?
エラーメッセージ 「実行時エラー’-2147467259(80004005)’,ファイル名が正しくありません.」
該当のソースコード
言語名
Office 365 ProPlus
Excel(Ver1808) VBA
下記ソースコードにはファイル名として(1)と(2)の2つを記載していますが,実際にはいずれか一方を使用します.
(1)はOneDriveを使用し,ローカルPCのエクスプローラーから当該ファイルにアクセスする際のパス.このパスを使用すると下記ソースコードにて正常にアクセスできます.
一方,(2)はSharePoint上の当該ファイルを直接指定するパス.これはマクロの冒頭でファイル選択ダイアログを表示させ,当該ファイルを選択した際に得られるものです.しかし,実際に得られたパスであるにも関わらず,このパスを使用すると下記ソースコードの(3)の部分で中断し上記エラーが表示されます.
Sub abc() Dim f As String f = "C:\Users****\xxxx.accdb" '<-(1) f = "https://****.sharepoint.com/sites/****/Shared Documents/xxxx.accdb" '<-(2) Dim adoCn As Object Dim adoRs As Object Set adoCn = CreateObject("ADODB.Connection") Set adoRs = CreateObject("ADODB.Recordset") adoCn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & f & ";" '<-(3)
試したこと
SharePoint,およびTeamsにて当該ファイルの「リンクをコピー」コマンドを実行して得られるパスも試してみましたが,やはりエラーとなりました.
補足情報(FW/ツールのバージョンなど)
VBEの「ツール」/「参照設定」にて「Microsoft ActiveX Data Objects 2.8 Library」をONにしています.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/18 11:43
2020/07/18 22:17
2020/07/21 13:56