xlwkbk
não é garantido para ser definido: você só define o objeto no caso de o arquivo não é (não aberto). Você precisa de uma "cláusula else".
Em vez de negar o teste FileIsOpen()
, use o resultado diretamente.
Tais como:
If FileIsOpen() then
'Do stuff for when file is open, such as test for the proper worksheet being active
set worksheet to active sheet
else
'Open the worksheet like you have in example
set worksheet by opening worksheet
endif