В одном из моих листов у меня есть еще одна книга, вставленная как внедренный объект, который мне нужно открыть, чтобы прочитать некоторые из его полей.
Я открываю этот файл, используя OLEobj.Verb xlVerbOpen и присвойте его переменной Workbook с именем wbR . Поскольку его имя может меняться при каждом его открытии, единственный способ, который я рассчитывал сделать, это использовать ActiveWorkbook .
Это работает, когда я запускаю код построчно. Однако, когда весь макрос запускается с кнопки, большую часть времени ActiveWorkbook будет считаться таким же, как ThisWorkBook . Я пытался использовать Wait и Sleep.
Часть, которая дает эту проблему:
For Each OLEobj In ThisWorkbook.Sheets("SheetName").OLEObjects
Set OLEobj = wsr.OLEObjects(OLEobj.Name)
OLEobj.Verb xlVerbOpen
Application.Wait (Now + TimeValue("0:00:05"))
'Sleep 5000
Set wbR = ActiveWorkbook
Exit For
Next OLEobj