MS Excel:在VBA中使用Shell将SSIS包作为工作表中的嵌入式对象运行

时间:2018-11-02 03:53:04

标签: sql excel ssis powerquery

我要完成的任务: 我想通过按绑定到VBA宏的按钮将Excel表上载到SQL Server数据库表。

我希望宏在继续之前等待过程完成。

我当前的方法: 当前,我在绑定到宏的按钮后面的单元格中有一个SSIS包作为对象嵌入。在此阶段,我的宏相当粗糙,因为我仍在尝试弄清楚如何在不打开默认应用程序的情况下运行SSIS程序包。

我希望它通过Shell脚本在后台运行。该宏将等待shell脚本发出的信号,表明上传成功,然后再继续。我以前用SSIS程序包作为外部文件运行了该程序,然后运行了外壳程序(有效);但是,我真的希望它包含在Excel文件中。

我的代码:

Sub UpdateGroupsMacro()
ActiveWorkbook.Save
ActiveSheet.Shapes.Range(Array("Object 1")).Select
Selection.Verb Verb:=Activate
' Shell ("DTEXEC.EXE /F " & ActiveWorkbook.FullName & "\xl\embeddings\oleObject1.bin""") <---This wasn't working even when I went one level deeper.
Application.Wait (Now + TimeValue("00:00:01"))
Worksheets("Macro").ListObjects("GetGroupsTableCount").Refresh
End Sub

0 个答案:

没有答案