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

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

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

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

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

SharePoint

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

Q&A

受付中

VBA「Application.FileDialog(msoFileDialogOpen)」でSharepointのサイトを表示後、ADO.NETでSharepointに繋げなくなる

yuasa
yuasa

総合スコア0

VBA

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

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

SharePoint

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

1回答

0グッド

0クリップ

419閲覧

投稿2022/11/12 16:52

初めてお世話になります。
「フォーム:EXCEL/テーブル:SharePointのリスト」を使用したデータべースを作成しており
基本的には上手く動いているのですが、下記一連の動きをした時のみエラーが発生してしまいます。

①EXCEL VBA内で「Application.FileDialog(msoFileDialogOpen)」を使用して
SharePointに保存しているファイルのパスを取得
※.InitialFileName は、「https://~から始まる、SharePoint内のファイルへのアドレス(80文字程度)」
②その後、ADO.NETを使用してSharePointのリストを取得

という流れを取りたいのですが、
どうやら①のファイルダイアログが開いて、そこにSharepointのファイル一覧が表示された瞬間から
ADO.NETを使用してSharePointに繋げる事が出来なくなってしまう様なのです。
.InitialFileNameをCドライブなどにしておけば問題ないのですが、
パスにhttps~を入力して確定→Sharepoint内のファイル群が表示された瞬間に繋がらなくなります。
①②の流れをエラーなく処理するにはどのような修正が必要か分からず
色々なサイトなどでも調べてみたのですが解決出来ず、ご質問させて頂きました。
どうかご教授の程 何卒よろしくお願いいたします。

VBA(EXCEL)

1  Dim vrtSelectedItem As Variant 2 With Application.FileDialog(msoFileDialogOpen) 3 .InitialFileName = "Sharepointの初期表示アドレス(https~)" 4 .AllowMultiSelect = False 5    ★If .Show = True Then ’…ここが実行されるとエラーの原因が発生 6      .Execute 7    End If 8 End With

VBA(EXCEL)

1 Dim cn As Object 'ADODB.Connection 2 Dim rs As Object 'ADODB.Recordset 3 Dim ListName As String 'リストのテーブル名 4 ListName = "テーブル名" 5 6 Set cn = CreateObject("ADODB.Connection") 7 cn.Open "Provider=Microsoft.ACE.OLEDB.16.0;WSS;IMEX=2;RetrieveIds=Yes;DATABASE=" & SharePointUrl & ";LIST=" & ListName & ";" 8 9 Set rs = CreateObject("ADODB.Recordset") 10 rs.CursorLocation = 3 11 With rs 12 ★ .Open "SELECT * FROM LIST", cn '…ここでエラーが発生してストップ 13

ErrerCode

1実行時エラー'2147217865(80040e37)' 2オブジェクト'LIST'が見つかりませんでした。オブジェクトが存在していること、名前やパス名が正しいことを確認してください。’LIST’がローカルオブジェクトでない場合は、ネットワークの接続を確認するか、サーバー管理者に問い合わせてください。

・CreateObjectを使用せず、
インスタンス「New ADODB.Connection・ADODB.Recordset」でも
試したのですが上手く行きませんでした。
・OS:Win10/EXCEL・Sharepointとも、Microsoft365を使用しています。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

0

一旦自己解決したかと思ったのですが、
再度試すとやはりエラーになってしまいましたので自己解決を取り消しさせて頂きます。
×msoFileDialogOpen→〇msoFileDialogFilePicker に変更すると
その日は上手く動いたのですが、なぜか翌日実行したところ またエラーになってしまいました。
GetOpenFilenameに書き換えても、
やはりhttps~のSharepointのサイトに繋がった途端に LISTが見つからないという、先に記載したエラーが発生します。
基本的にはエラーなのですが、一旦解決に変更した時の様に 稀に上手く動く事もあるのが不思議なのですが・・・
何が原因の症状なのか見当がつかず、出来れば別の方法で安定してエラーにならない方法に変更したくて
色々探してみたのですが見つけられず・・・。
度々申し訳ございませんが、ご教授頂ければと存じます。よろしくお願いいたします。

投稿2022/11/14 01:51

編集2022/11/19 16:04
yuasa

総合スコア0

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

VBA

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

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

SharePoint

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