我的excel文件已连接到Analysis Services数据库。我想自动刷新Excel,并将其每天保存到我的计算机中,即使我没有打开Excel。
我想知道如何去做。
我要这样做的原因:由于它已连接到数据库,并且仅显示最近5周的数据,因此我想每天保存所有数据,以便可以拥有历史数据。
如果您知道该怎么做,请帮忙
我想要的是excel文件会自动保存到我的计算机中,例如,即使我没有打开它,每天也会将其保存在台式机中。
答案 0 :(得分:0)
您可以编写一个VBA宏(重用您已经编写的内容),并根据需要在Windows Scheduler启动的VBS脚本中从Excel中调用它。
我的BAT文件
::********************************************************************
::* Generate-Excel-File.bat
::********************************************************************
@echo ON
SETLOCAL ENABLEDELAYEDEXPANSION
C:\windows\syswow64\cscript.exe LoadExcel.vbs
我的VBS文件
'*****************************************************************************
'* LoadExcel.vbs
'*****************************************************************************
' Create a WshShell to get the current directory
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
' Create an Excel instance
Dim oExcel
Dim oWorkBook
Set oExcel = CreateObject("Excel.Application")
' Disable Excel UI elements
oExcel.DisplayAlerts = False
oExcel.AskToUpdateLinks = False
oExcel.AlertBeforeOverwriting = False
oExcel.FeatureInstall = msoFeatureInstallNone
' Tell Excel what the current working directory is
' (otherwise it can't find the files)
Dim strSaveDefaultPath
Dim strPath
strSaveDefaultPath = oExcel.DefaultFilePath
strPath = WshShell.CurrentDirectory
oExcel.DefaultFilePath = strPath
' Open the Workbook specified on the command-line
Set oWorkBook = oExcel.Workbooks.Open(strPath & "\US.TRACKING-FILE.NEW.xlsm")
' Build the macro name with the full path to the workbook
on error resume next
' Run the calculation macro
oExcel.Run "LoadCSV"
if err.number <> 0 Then
' Error occurred - just close it down.
End If
err.clear
on error goto 0
'oWorkBook.Save
'oExcel.DefaultFilePath = strSaveDefaultPath
' Clean up and shut down
Set oWorkBook = Nothing
' Don’t Quit() Excel if there are other Excel instances
' running, Quit() will
' shut those down also
if oExcel.Workbooks.Count = 0 Then
oExcel.Quit
End If
Set oExcel = Nothing
Set WshShell = Nothing
我希望可以帮助您解决问题。
在此示例中,我在Excel中加载了CSV文件,但如果需要,您可以在VBA中运行SQL命令并使用纯Excel宏填充所需的内容。