我有一个Excel文件,从数据库表中获取外部数据。我需要自动刷新文件并通过电子邮件发送它。我打算使用SSIS脚本任务来运行一些VB脚本,该脚本将打开文件、刷新数据、保存和关闭(显然不会打开应用程序)。然后我将使用电子邮件任务通过电子邮件发送该文件。我所需要的只是刷新文件的脚本,由于我完全不懂VB或C#,所以必须询问是否有人有这样的脚本,并且可以根据我的文件进行自定义,用于我的脚本任务。
我会感激任何提示!
谢谢,
Vlad
我会感激任何提示!
谢谢,
Vlad
' 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
虽然这是一篇旧帖子,但4M01的回答对我帮助很大。
在我的情况下,我必须在打开工作簿后加入一个睡眠以确保文件正确加载。
即:
oWorkbook = oExcel.Workbooks.Open("absolute path to your file")
Threading.Thread.Sleep(3000)
oWorkbook.RefreshAll
请注意,在VS 2015中不再需要设置。因此,只需删除代码中的“set”即可使其正常工作。
这可能并不完全符合您的需求,但如果它能够帮助您或其他人,我能够仅使用一个简单的
执行进程任务
使用以下内容: