Не будут ли мешать друг-другу excel, в котором работает пользователь и excel, которым управляет vbs-скрипт?, Какие тут могут оказаться подводные камни?
Доброе утро. Есть такой vbs-скрипт. Он открывает по очереди HTM-файлы из папки D:\1\ и сохраняет их как книги EXCEL в папку D:\2\ под тем же именем в формате xlsm. Иногда он обрабатывает множество более-менее средние файлы по объёму, а иногда довольно большие файлы (150 000 X 90 ячеек). Естественно, на работу скрипта уходит некоторое время.
Вопросы: 1) Пока скрипт работает, обычный пользователь (формулы+готовая надстройка) может спокойно открыть другие excel-файлы и работать? Скрипт и Excel, в котором работает пользователь, никоим образом не будут мешать друг-другу? 2) Они не будут мешать лруг-другу и в случае более продвинутого (Сводная, PQ, PP) пользователя тоже? 3) Нет никаких подводных камней?
Код
fName = "D:\1"
Set ExcelApp = CreateObject("Excel.Application")
For Each file In CreateObject("Scripting.Filesystemobject").GetFolder(fName).Files
With ExcelApp.Workbooks.Open(file)
.SaveAs "D:\2\" & Split(File.Name,”.”)(0) & ".xlsm", 52
.Close False
End With
Next
Set ExcelApp = Nothing
MsgBox "готово !!!", 64
4. Они будут мешать в том случае если доступные ресурсы будут исчерпаны и начнется драка за них между процессами, но скорее всего это приведет только к замедлению а не катастрофе.
Это всё равно очень плохая идея — параллельно использовать приложение кодом и руками. Если есть необходимость что-то тяжёлое обработать, то оставьте на ночь или на обед. Если ночи (а, по-хорошему, даже часа) не хватает, то, скорее всего, вы что-то неправильно делаете. Сделали тяжёлое и спокойно работайте себе
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄