VBScript / VBA / Excel - PullRequest
       3

VBScript / VBA / Excel

0 голосов
/ 08 июня 2011

У меня более 70 файлов Excel с макросами, файлы Excel настроены на запуск после того, как я их открываю, а затем они закрываются сами по себе после выполнения всех процедур. Я создал скрипт VBS, который открывает их, а затем закрывает, и все работает отлично. Кроме того, я создал список файлов Excel, которые запускаются VBS, и поместил его в отдельный файл Excel. Мой вопрос заключается в том, как создать VBScript, который бы записывал время, когда каждый файл Excel был открыт с помощью сценария VBS.

Для одного файла

Option     Explicit
Dim oExcel, oSheet

Set oExcel = CreateObject("Excel.Application")

oExcel.workbooks.open "C:\Docum..............\data.xlsm"

Set oSheet = oExcel.ActiveWorkbook.Worksheets(1)


oExcel.ActiveWorkbook.sAVE
oExcel.ActiveWorkbook.Close
oExcel.Quit

Set oSheet = Nothing
Set oExcel = Nothing

ИЛИ для числа файлов i


Option Explicit
Dim filePath(1)
Dim oExcel, oSheet
Dim i

filePath(0) = "C:\Docum..........\data.xlsm"
filePath(1) = "C:\Docum..........\data1.xlsm"
Set oExcel = CreateObject("Excel.Application")

For i = 0 To 1
oExcel.Workbooks.Open (filePath(i))

Set oSheet = oExcel.ActiveWorkbook.Worksheets(1)
oExcel.Run "macro1"

oExcel.ActiveWorkbook.Save
oExcel.ActiveWorkbook.Close
oExcel.Quit
Set oSheet = Nothing
Next
Set oExcel = Nothing

Sub Macro1()
    Sheets("Sheet1").Select
    Range("A5").Select
    ActiveCell.Value = "1"
End Sub

1 Ответ

2 голосов
/ 08 июня 2011

как создать VBScript, который бы записывал время, когда был открыт каждый файл Excel

Ваш вопрос не очень понятен (где вы хотите записать время?), Но:

  • В VBScript есть функция «Сейчас», которая будет возвращать текущую дату / время

  • Excel предоставляет объектную модель, которая позволит вам сохранитьвремя где-то в книге.

  • В VBScript есть объект Scripting.FileSystemObject, который можно использовать для открытия файла и записи текущего времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...