在VBScript文件中集成VBA

问题描述 投票:0回答:1

我有一个工作的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也是如此),所以如果这是一个基本的问题,我很抱歉。

vba excel-vba vbscript excel
1个回答
2
投票

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

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
© www.soinside.com 2019 - 2024. All rights reserved.