自动刷新Excel ODC连接和枢纽而无需打开文件PowerShell
我有几个20 MB以上的Excel文件,他们需要在开始营业之前(周一上午8点)每周更新一次。
这些文件包含一个数据表,数据通过外部连接(ODC文件),从SQL Server视图。
它们也有一个数据透视表,在数据表刷新后也需要刷新。
我试图find一个解决scheme(Windows PowerShell)来自动刷新数据和数据透视表,而不需要触摸文件。 “打开时刷新”和其他Excel选项不可行,因为刷新所有连接需要长达20分钟的时间。
我也不想刷新所有图纸,因为文件具有图表的自定义颜色,“刷新”将其重置为Excel默认值,这是不可能发生的。
我试过这个,但似乎没有与ODC连接工作? 至less,它没有做任何事情。
Windows PowerShell :
$ExcelApp = new-object -ComObject Excel.Application $ExcelApp.Visible = $false $ExcelApp.DisplayAlerts = $false $Workbook = $ExcelApp.Workbooks.Open("c:\test\ref_test.xlsx", 3, $false, 5, $null, $null, $true) Start-Sleep -s 30 $Workbook.RefreshAll() $Workbook|Get-Member *Save* $Workbook.Save() $ExcelApp.Quit()
有任何想法吗?
Office版本:2010,在Windows 7上
可能在这个问题上的答案可以帮助。 perl脚本也可用作预编译的exe文件。
我将通过使用Excel VBA来处理此问题,并将您的Excel文件创build为.xlsm。
然后更新文件W / Excel VBA命令和function刷新您的odbc连接,然后保存为一个新的文件分发。