質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

SharePoint

SharePointは、マイクロソフトにより開発された、ソフトウェア開発のドキュメント管理やコラボレーションを行うプラットフォームの総称です

Q&A

0回答

166閲覧

sharepoint上のexcelにadoからアクセスしたい

Lhazz

総合スコア0

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

SharePoint

SharePointは、マイクロソフトにより開発された、ソフトウェア開発のドキュメント管理やコラボレーションを行うプラットフォームの総称です

0グッド

0クリップ

投稿2025/05/21 00:22

編集2025/05/22 09:29

実現したいこと

会社のネットワークでsharepointオンラインを使用していて、PowerAppでの変換テーブル用にexcelファイルが存在している。
PowerAppのデータベース登録をクライアント側からvbaで行ないたくて、このexcelファイルにadoで接続する方法を模索している。
excelファイルをローカルでコピーして持っておくと、更新が二重になって齟齬も生じるのでコピーを持つのは避けたい。

発生している問題・分からないこと

・excelのデスクトップからは該当のファイルは普通に開けるのでアクセスには(WindowsAuthが端末で認証できているためアクセス権限の)問題はないと考えるが、仮にそうでなかった場合に認証情報を送る必要が生じることは考えられる。
・ファイルパスを下記の様のコードで指定するとcon自体は開けるが、テーブル数は0だしCatalogを作成しても要素はない(本当にアクセスできてる?)
・excelファイルとして開いてRange.findみたいなことはしたくない(それしか方法がないならやむを得ないが、excelファイルをデータベースとして使用できる以上実現できると踏んでいる)

該当のソースコード

Dim Con as New ADODB.Connection con.connectionstring="Provider=Microsoft.ACE.OLEDB.12.0;Data SOURCE="& (SharePointオンライン上のexcelファイルのフルパス) &";Extended Properties='Excel 12.0 XML;HDR=Yes';" con.open 'この時点でcon.status=1 dim rs as New ADODB.Recordset rs.open "select * from [テーブル$]",con '←ここでファイルが見つかりませんのエラーが出る

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

ファイルへの接続(ADODB.Connection)のところでだいぶ躓きましたが、そこは通過してると思っています。
VBAを作動させているEXCELブック上に当該EXCELのテーブル自体をWorkbookConnectionで参照することもできているので、WorkbookConnectionにADOから接続する方法でも構いません(この方法はWorkbookConnectionをADOで開く方法をWEBで見つけられなくてできていない)。

補足

使用しているEXCELはMicrosoft365(Excel16.0)ですが、Providerを16.0に変えたらConを開くことすらできなかったです。
・WorkbookConnectionをテーブルクエリとしてEXCELブックに展開すればADOでアクセスできる。
(できることは知っているがブックを参照するのにローカルのブックにミラーするなど冗長の極みなのでやりたくない)
・ACCESSでワンバウンドさせようとしたがSHAREPOINTオンライン上のEXCELをデータソースにはできなかった(xmlしかソースにできないというお話)

データの管理をSQLサーバでやっている中で、会社の一部がPowerBIなんぞを使い始めてしまったので、極めて連携の取りにくい仕組みになってしまっている。Sharepoint側とSQLサーバ側と簡単にコネクトできればいいのにコネクタが標準でついてない。コネクタさえ標準実装していればこんな無駄な苦労はしないで済むのに。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問