使用Outlook VBA将数据插入SharePoint表(如何加快过程?)

时间:2018-07-11 09:33:06

标签: sql vba sharepoint outlook-vba

我编写了一个宏,该宏从电子邮件正文中获取一些数据,然后将这些数据插入到SharePoint表中。 剪切电子邮件正文以及将数据插入SharePoint都可以正常工作-但是插入部分需要很长时间(每次执行大约需要2分钟)。

代码如下:

Public Const sDEMAND_ROLE_GUID As String = "{111111111-2222-3333-4444-111111111111}"
Public Const sSHAREPOINT_SITE As String = "https://randomsharepoint.com/sites/test/"

Sub insertIntoSharePoint()
Dim cn      As ADODB.Connection
Dim sConn   As String
Dim sSQL    As String

sConn = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=0;RetrieveIds=Yes;" & _
"DATABASE=" & sSHAREPOINT_SITE & ";" & _
"List=" & sDEMAND_ROLE_GUID & ";"

Set cn = New ADODB.Connection

sSQL = "INSERT INTO [TEST TABLE]([Test1], [Test2], [Test3], [Test4], [Test5], [Test6], [Test7], [Test8], [Test9], [Test10], [Test11])" & _
        "VALUES ('TestVal1', 'TestVal2','TestVal3','TestVal4','TestVal5','TestVal6','TestVal7','TestVal8','TestVal9','TestVal10','TestVal11');"

With cn
    .ConnectionString = sConn
    .Open
    .Execute sSQL 'This is the line that takes most of the runtime'
    .Close
End With

Set cn = Nothing
MsgBox "Item successfully added to SharePoint"
End Sub

有什么方法可以优化此代码? 还是执行缓慢仅取决于Internet连接/弱计算机? 还是您有其他解决方案来解决主要问题? (废弃电子邮件正文并将其插入到SharePoint列表中)

1 个答案:

答案 0 :(得分:1)

嗯,VBA本质上很慢。也许您可以将所有内容从Outlook导入到Access / Excel,然后从Access / Excel中获取SharePoint数据。

在您要添加基于电子表格的列表的网站上,转到“设置Office 365设置”按钮,然后单击“添加应用”。

在“查找应用程序”字段中,键入电子表格,然后单击“搜索”图标“搜索框”放大镜图标。 查找输入了电子表格并突出显示搜索按钮的应用程序字段

在搜索结果页面中,单击“导入电子表格”。 导入在“新应用”对话框中突出显示的电子表格应用

在“新应用”页面中,为列表键入名称。

在大多数视图中,该名称显示在列表顶部,成为列表页面网址的一部分,并出现在网站导航中以帮助用户查找列表。您可以更改列表的名称,但是网址将保持不变。 填写名称和文件位置的新应用对话框,突出显示导入

键入可选的说明。

在大多数视图中,描述都显示在名称的下方。您可以随时使用列表设置更改列表的说明。

浏览至或键入电子表格的文件位置。完成后,点击导入。

电子表格将在Excel中打开,您将看到“导入到Windows SharePoint Services列表”窗口。

在“导入到Windows SharePoint Services列表”窗口中,选择“表范围”,“单元格范围”或“命名范围”。如果要手动选择范围,请选择“单元格范围”,然后单击“选择范围”。在电子表格中,单击左上方的单元格,按住Shift键,然后选择所需范围的右下方单元格。 突出显示范围的Excel电子表格

该范围将出现在“选择范围”字段中。单击导入。 突出显示“导入到电子表格”对话框

导入电子表格后,请检查列表中的列,以确保数据已按预期导入。例如,您可能要指定一列包含货币而不是数字。要查看或更改列表设置,请打开列表,单击“列表”选项卡或单击“设置Office 365设置”按钮,然后单击“列表设置”。

电子表格数据将显示在SharePoint的列表中。 在SharePoint Online中列出

有关更多信息,请参见下面的链接。

http://3sharp.com/blog/load-excel-data-into-a-sharepoint-2013-list-fast-and-easy/

https://technet.microsoft.com/en-us/library/2008.04.access.aspx