如何使用Excel 2013 VBA中的.odc文件导入数据

时间:2015-07-07 15:36:55

标签: excel vba excel-vba sharepoint

我正在尝试编写一些VBA,它将使用存储在SharePoint数据连接库中的.odc文件将某些数据导入查询表。我使用宏录制器记录添加连接的过程,然后转到现有连接并将数据导入当前工作表中的表(当我手动完成时,它可以工作)。

记录器吐出以下代码(我删除了命令文本,因为它包含一些敏感信息,但它是一大串与SharePoint相关的东西,如列表和视图GUID):

Sub RecordedImportMacro()

    Workbooks("MyWorkbook.xlsm").Connections.AddFromFile _
        "http://path/to/my/odcfile/on/sharepoint.odc"
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
        "OLEDB;Provider=Microsoft.Office.List.OLEDB.2.0;Data Source="""";ApplicationName=Excel;Version=12.0.0.0" _
        , Destination:=Range("$A$1")).QueryTable
        .CommandType = 5
        .CommandText = "some command text here"
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .SourceConnectionFile = "http://path/to/my/odcfile/on/sharepoint.odc"
        .ListObject.DisplayName = "My_Table"
    End With
End Sub

然而,当我运行宏看似执行完全相同的任务之前,我得到以下错误:运行时错误1004.我googled它并没有真正找到任何与我的用例有关的事情< / p>

当我调试时,突出显示以下行:.CommandType = 5

有关如何使其发挥作用的任何想法?

1 个答案:

答案 0 :(得分:0)

我能够使用找到的代码here

让它工作

以下是代码:

   #verticalLine{
	position:absolute;
	top:0;
	left:50%;
	width:10px;
	height:100%;
	background-color:#FF4719;
	
}

#colorstrip{
	position:absolute;
	top:50%;
	width:0;
	height:10px;
	width:100%;
	background-color:#FF8533;
	
}