このリンクhttps://sharepoint.stackexchange.com/questions/29021/import-sharepoint-list-into-excel-using-vba-only Excel 2010へのSharePoint 2010リストアイテムのエクスポートを自動化するのに成功しました。SharePointデータでExcelシートを取得できます。問題は、SharePointリストのフィールドとして既にIDがあることです。 vbaコードは自動的にID(自動増分)を生成し、それをExcelファイルに追加します。今私は2つのIDフィールド名を持っています。私はExcel vba自動生成IDを取り除き、自分のSharePointリストからのフィールド名(IDはその1つだけ)を持っていたいと思う。どうすればいい?ありがとう。Excel vbaで条件に応じてExcelの重複列を削除します
Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
Application.DisplayAlerts = True
.RefreshAllは、テーブルのデータを更新し、それがリフレッシュだとき、それ:私はあなたがやっているものと同様のものをやっている、と私は次のコード行を追加
Sub TestMacro()
Dim objMyList As ListObject
Dim objWksheet As Worksheet
Dim strSPServer As String
Const SERVER As String = "http://abcd/"
Const LISTNAME As String = "{A486016E-80B2-44C3-8B4A-8394574B9430}"
Const VIEWNAME As String = ""
' The SharePoint server URL pointing to
' the SharePoint list to import into Excel.
strSPServer = "http://" & SERVER & "/_vti_bin"
' Add a new worksheet to the active workbook.
Set objWksheet = Worksheets.Add
' Add a list range to the newly created worksheet
' and populated it with the data from the SharePoint list.
Set objMyList = objWksheet.ListObjects.Add(xlSrcExternal, _ Array(strSPServer, LISTNAME, VIEWNAME),
True, , Range("a1"))
Set objMyList = Nothing
Set objWksheet = Nothing
End Sub
objWksheet.Columns(x).Delete'ここでxは望ましくない列番号 –
です。または、Timの提案に基づいて作成します。objMyList.ListColumns(x).Delete、xはテーブルの列の名前またはインデックスです。 。私は興味がありますが、どこの列がVBAに追加されているのですか。私はそれを行うコードはありません。 –
両方の提案をお寄せいただきありがとうございます。現在、私のExcelシートは次のようになっています:A1の値はExcelで生成されたIDで、自動インクリメントしています。また、B1の値は、SharePoint 2010のリストのフィールドの1つであるIDです。 objWksheet.Columns(x).DeleteとobjMyList.ListColumns(x).Deleteの下の行に、xの値に何を置くべきかはっきりしていません。私はxの代わりにAを入れてみましたが、いずれの場合も「アプリケーション定義またはオブジェクト定義のエラー」というエラーが表示されました。 Excel 2010で列Aのインデックスを検索するにはどうすればよいですか? – Nemo