Excel автоматически обновляет и сохраняет файл на моем компьютере каждый день

Мой файл Excel подключен к базе данных служб анализа. Я хочу автоматически обновлять Excel и сохранять его на своем компьютере каждый день, даже если я не открываю Excel.

Мне интересно, как это сделать.

Причина, по которой я хочу это сделать: поскольку он подключен к базе данных и показывает только данные за последние 5 недель, и я хочу сохранять все данные каждый день, чтобы иметь исторические данные.

Помогите, пожалуйста, если вы знаете, как это сделать

Я хочу, чтобы файл Excel автоматически сохранялся на моем компьютере, например, на рабочем столе каждый день, даже если я его не открывал.


person Aimee    schedule 14.05.2019    source источник
comment
У вас должен быть поиск здесь, это один из результатов, который может иметь значение: stackoverflow.com/a/41740628/4961700   -  person Solar Mike    schedule 14.05.2019
comment
еще много разницы, чем я кроме. Я хочу, чтобы он сохранялся автоматически, даже если я не открывал файлы Excel.   -  person Aimee    schedule 14.05.2019
comment
Итак, когда вы выполнили поиск, какие еще примеры вы нашли?   -  person Solar Mike    schedule 14.05.2019


Ответы (1)


Вы можете написать макрос VBA (повторно использовать то, что вы уже написали) и вызвать его из Excel в сценарии VBS, который он запускал планировщиком Windows, когда вы хотите.

Мой 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

Я надеюсь, что это может помочь вам решить вашу проблему.

В этом примере я загружаю файл CSV в Excel, но если вы хотите, вы можете запустить команду SQL в VBA и заполнить то, что хотите, используя чистые макросы Excel.

person schlebe    schedule 14.05.2019