Можно ли использовать временный объект оператора with в качестве параметра для функции? - PullRequest
2 голосов
/ 07 января 2020

Я использую оператор with в VBA следующим образом:

With New MSXML2.DOMDocument60
    'Some statements
end with

, и у меня есть подпрограмма, подобная этой:

Private Sub anyfunction(ByVal par_document As MSXML2.DOMDocument60)

end sub

Есть ли способ использовать временный объект в качестве параметра для anyfunction или мне нужно создать переменную с "Dim", чтобы использовать anyfunction?

1 Ответ

0 голосов
/ 07 января 2020

Если объект предоставляет ссылку на себя, используйте это. Для MSXML2.DOMDocument60 вы можете использовать .SelectSingleNode("/") или дочерний объект со ссылкой на родительский объект. (например, .documentElement.ownerDocument или .childNodes(0).parentNode, но для них требуется XML -Документ загружен.) Или наоборот (родитель по отношению к ребенку) для Dao.Recordset используйте .Parent.RecordSets(.Name).

With New MSXML2.DOMDocument60
    .Load("xmlfile")
    anyfunction(.SelectSingleNode("/"))
end with
...