保存宏的结果而不打开文件

时间:2017-02-06 12:13:23

标签: excel excel-vba vbscript automation save vba

我在excel中有一个宏来刷新外部源的一些数据。我想创建一个代码,它基本上运行这个宏,而不是每天打开excel文件并保存结果。

我已经提出了运行宏的代码但由于某种原因,保存功能不起作用。

以下是代码:

Set objExcel = CreateObject("Excel.Application")
objExcel.Application.Run "'C:\Users\Huwyler\Desktop\testMacro.xlsm'!Sheet1.addDate"
objExcel.DisplayAlerts = False
objExcel.Application.Quit
Set objExcel = Nothing

和错误消息:" Application类的Save方法失败"

我需要一些答案:

  1. 解决储蓄问题
  2. 如何让这个脚本自动运行让我们每天都说?
  3. 提前谢谢!

1 个答案:

答案 0 :(得分:0)

我在几个步骤中完成了类似的任务:

  1. 制作一个.bat文件,该文件将基于windows任务调度程序启动excel文件,在此文件中放置以下代码:
  2. C:\Users\user.name\Desktop\testfolder\newexclname.xlsm

      excel中的
    1. 编辑要在文件打开时刷新的连接属性。

    2. 将以下内容放在工作簿中打开子文件:

      Private Sub Workbook_Open() Dim folderpath, newexclname as String folderpath = "C:\Users\user.name\Desktop\testfolder\" newexclname = "textexl" Application.DisplayAlerts = False ActiveWorkbook.RefreshAll ChDir folderpath ActiveWorkbook.SaveAs Filename:= folderpath & newexclname & ".xlsx" _ , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False ThisWorkbook.Close savechanges = True End Sub

    3. 希望这可以解决你的问题。