Проверка, открыт ли файл Excel - VB
Формулировка задачи:
Уважаемый форум, поискал, но ответа на вопрос не нашел: как проверить средствами VB открыт ли Excel файл, при условии, что у пользователя могут быть открыты другие книги Excel?
Проблема в том, что прога открывает файлы Excel для работы с данными, при ошибке в программе, нужна проверка, остались ли открытыми файлы Excel. По результатам проверки, открытые файлы нужно закрыть, не закрывая при этом другие файлы Excel, открытые пользователем.
Использую конструкцию:
При этом почему-то при ошибке в программе секция Finally не отрабатывается - остается открытым файл xl_read.
Спасибо!
Проблема в том, что прога открывает файлы Excel для работы с данными, при ошибке в программе, нужна проверка, остались ли открытыми файлы Excel. По результатам проверки, открытые файлы нужно закрыть, не закрывая при этом другие файлы Excel, открытые пользователем.
Использую конструкцию:
При этом почему-то при ошибке в программе секция Finally не отрабатывается - остается открытым файл xl_read.
Спасибо!
Решение задачи: «Проверка, открыт ли файл Excel»
textual
Листинг программы
function IsWbOpen(sWbName as string) as boolean
'sWbName = "Книга1.xlsx"
dim wb as workbook
for each wb in xl_read.workbooks
if (wb.name = sWbName ) then
IsWbOpen = true
end if
next
end function
'вызываем в коде:
dim wb as workbook
if IsWbOpen("Книга1.xlsx") then
wb = xl_read.Workbooks("Книга1.xlsx")
else
wb = xl_read.Workbooks.Open(QIMS_export)
end if