前提・実現したいこと
SharepointリストをAccessで開き、『データのコピーをエクスポートする』をExcel VBAで行いたい。
発生している問題・エラーメッセージ
下記のコードでOffice365 SharepointのデータをAccessでローカルフォルダにインポートすることはできました。しかし、表題の動作のSharepointリストをAccessで開き、『データのコピーをエクスポートする』とSharepointリストのデータをAccessに『インポートする』では落としたデータに差があるようで、その後のプログラムがうまく走りません。
また、落としたデータに違いはありませんがAccessの見た目に差異が見受けられます。
SharepointからSharepointリストをAccessで開く前にOffice365ではなく従来のバージョンで開くを選択してから行っています。Accessの見た目の差異は下記に記した通りです。
*エクスポートしたデータ:落としたデータの左上にタブのようなものがあり、そこにテーブル名と同じものが記載されている
該当のソースコード
Excel VBA
Sub transfersharepointlistAAA()
Dim catTest As New ADOX.Catalog Dim strConnect As String Dim strDBNAME As String strDBNAME = "C:\MyFolder\Rawdata\AAA.accdb" 'インポート先のaccdb
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(strDBNAME) Then 'ファイルが存在していた場合の処理を入れる。 FSO.DeleteFile strDBNAME 'ファイルが存在したら消す End If Set FSO = Nothing 'データベースの新規作成 ' ADOコネクション文字列の指定 strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" ' データベースの作成 名前を指定する catTest.Create strConnect & strDBNAME ' データベースを閉じる Set catTest = Nothing Dim strSPServer As String Dim objAcc As Access.Application Const SERVER As String = "xxx.sharepoint.com/xxxxx/BBB" Const LISTNAME As String = "{a56aec52-e787-4c87-8411-c6b8ebb29563}" Const VIEWNAME As String = "{73bab5df-3de2-48a6-bb30-81350c112097}" strSPServer = "https://" & SERVER Set objAcc = GetObject("C:\MyFolder\Rawdata\AAA.accdb", "Access.Application.15") objAcc.Visible = True objAcc.DoCmd.transfersharepointlist acImportSharePointList, strSPServer, LISTNAME, VIEWNAME, "AAA", True
End Sub
試したこと
TransferTypeをacLinkSharepointlistにしてみましたがタブは現れませんでした。
補足情報(FW/ツールのバージョンなど)
以下、Versionの情報です。
Sharepoint:Office365
Access:2013
Excel:2013
SharepointリストをAccessで開き、データのコピーをエクスポートする
が実行できるようご教授よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。