我有一个Excel文件,可以从数据库表中获取外部数据。我需要自动刷新文件并通过电子邮件发送。我打算使用SSIS脚本任务来运行一些VB脚本来打开文件,刷新数据,保存和关闭(显然没有启动应用程序)。然后我将使用电子邮件任务通过电子邮件发送文件。我只需要刷新文件的脚本,并在VB或C#中作为总noob我不得不问是否有人有一个脚本可以解决这个问题,我可以自定义我的文件并在我的脚本任务中使用。 我会感激任何提示! 非常感谢, 维拉德
答案 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)
这可能无法完全满足您的需求,但是如果它可以帮助您或我能够使用简单的某人
执行流程任务
与
答案 3 :(得分:0)
对于我的情况(与MS SQL DB的连接),我必须取消选中“启用后台刷新”选项才能正常工作。
Excel:“数据”>“连接”>“属性”>(取消选中)启用后台刷新