Интеграция VBA внутри файла VBScript - PullRequest
0 голосов
/ 17 мая 2018

У меня есть рабочий файл VBScript и макрос VBA на листе Excel, который делает это:

  • Обновляет все подключения к данным
  • Записывает метку времени в определенной ячейке
  • Сохраните и закройте лист Excel

VBS файл:

 Set objExcel = CreateObject("Excel.Application")

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

 Set objExcel = Nothing

VBA внутри листа Blank.xlsm:

Sub Date()
    ActiveWorkbook.RefreshAll

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

Можно ли сохранить файл .xslx без макросов в Excel и запустить обе эти функции из файла VBScript, который не будет вызывать макрос в книге Excel для выполнения необходимых задач, а скорее выполнит эти задачи сам? Я очень новичок в VBScript (и, честно говоря, VBA тоже), поэтому извините, если это слишком простой вопрос.

1 Ответ

0 голосов
/ 17 мая 2018

Да, конечно, это возможно.Здесь:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...