使用SSIS脚本任务刷新Excel

时间:2012-03-20 22:46:24

标签: excel vbscript ssis refresh

我有一个Excel文件,可以从数据库表中获取外部数据。我需要自动刷新文件并通过电子邮件发送。我打算使用SSIS脚本任务来运行一些VB脚本来打开文件,刷新数据,保存和关闭(显然没有启动应用程序)。然后我将使用电子邮件任务通过电子邮件发送文件。我只需要刷新文件的脚本,并在VB或C#中作为总noob我不得不问是否有人有一个脚本可以解决这个问题,我可以自定义我的文件并在我的脚本任务中使用。 我会感激任何提示! 非常感谢, 维拉德

4 个答案:

答案 0 :(得分:7)

希望这就是你要找的东西

 ' Create an Excel instance
   Dim oExcel
   Set oExcel = CreateObject("Excel.Application") 

 ' Disable Excel UI elements
   oExcel.Visible = True
   oExcel.DisplayAlerts = False
   oExcel.AskToUpdateLinks = False
   oExcel.AlertBeforeOverwriting = False

   Set oWorkbook = oExcel.Workbooks.Open("absolute path to your file")
   oWorkbook.RefreshAll
   oWorkbook.Save

   oExcel.Quit
   Set oWorkbook = Nothing
   Set oExcel = Nothing

答案 1 :(得分:0)

老帖但是4M01的回答帮助了我。

在我的情况下,我必须在打开工作簿之后暂停一下,以确保正确加载文件。

即。

oWorkbook = oExcel.Workbooks.Open("absolute path to your file")
Threading.Thread.Sleep(3000)
oWorkbook.RefreshAll

另请注意,VS 2015套装中不再需要。所以只需删除“set”即可使代码生效。

答案 2 :(得分:0)

这可能无法完全满足您的需求,但是如果它可以帮助您或我能够使用简单的某人

  

执行流程任务

  • 可执行为/..path../Excel.exe和
  • 将参数作为要打开的所需文件(完整路径)

答案 3 :(得分:0)

对于我的情况(与MS SQL DB的连接),我必须取消选中“启用后台刷新”选项才能正常工作。

Excel:“数据”>“连接”>“属性”>(取消选中)启用后台刷新