在VBScript文件中集成VBA

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在VBScript文件中集成VBA相关的知识,希望对你有一定的参考价值。

我有一个工作的VBScript文件和Excel工作表中的VBA宏,它执行此操作:

  • 刷新所有数据连接
  • 在特定单元格中写入时间戳
  • 保存并关闭Excel工作表

VBS文件:

 Set objExcel = CreateObject("Excel.Application")

 objExcel.Application.Run "'G:Blank.xlsm'!Module9.Date"
 objExcel.DisplayAlerts = False
 objExcel.Application.Quit

 Set objExcel = Nothing

Blank.xlsm工作表中的VBA:

Sub Date()
    ActiveWorkbook.RefreshAll

    With Range("M12")
        .Value = Now()
        .NumberFormat = "dd/mm/yy hh:mm"
        ActiveWorkbook.Save
    End With
End Sub

是否可以保留Excel无宏.xslx文件并从VBScript文件运行这两个函数,这不会调用Excel工作簿中的宏来执行我需要的操作,而是自己完成这些任务?我是VBScript的新手(坦率地说,VBA也是如此),所以如果这是一个基本的问题,我很抱歉。

答案

是的,当然,这是可能的。这里:

Option Explicit

Dim objExcel, objWorkBook

Set objExcel = CreateObject("Excel.Application")
Set objWorkBook = objExcel.Workbooks.Open(filePath)

objExcel.Application.Visible = False
objExcel.DisplayAlerts = False

objWorkBook.RefreshAll

With objWorkBook.Sheets(1).Range("M12")
    .Value = Now()
    .NumberFormat = "dd/mm/yy hh:mm"
End With

objWorkBook.Save
objWorkBook.Close

objExcel.Application.Quit
WScript.Echo "Finished."
WScript.Quit

以上是关于在VBScript文件中集成VBA的主要内容,如果未能解决你的问题,请参考以下文章

使用 VBA 控制 VBScript

vbscript 在Excel VBA中读取和写入文件

vbscript vba:打开文件或文件夹

vbscript VBA准备代码

vbscript Outlook功能代码段(VBA)

vbscript 批量导出VBA文件