【问题标题】:save the results of a macro without opening the file在不打开文件的情况下保存宏的结果
【发布时间】:2017-06-23 09:07:11
【问题描述】:

我在 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

和错误消息:“应用程序类的保存方法失败”

我需要一些答案:

  1. 解决保存问题
  2. 假设每天自动运行此脚本?

提前谢谢你!

【问题讨论】:

标签: excel vbscript automation save vba


【解决方案1】:

我已经通过几个步骤完成了类似的任务:

  1. 制作一个 .bat 文件,该文件将启动基于 windows 任务调度程序的 excel 文件,在此文件中放入以下代码:

C:\Users\user.name\Desktop\testfolder\newexclname.xlsm

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

  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

希望这能解决你的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多