Я использую это для извлечения HTML с веб-страницы
Function GetHTML(url As String) As String
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", url, False
.Send
GetHTML = .ResponseText
End With
End Function
Я создал еще одну пользовательскую функцию (с веб-страницы) для извлечения информации из HTML и помещения ее в двумерный массив.
Function fromthewebpage(month,user)
testtext=GetHTML("http://example.com")
....
....
fromthewebpage= udarray(month,user)
End function
Когда мне нужна информация на листе, я вызываю ее с помощью =fromthewebpage(x,y) в ячейке.
Но размер массива 13 * 4, и мне нужен весь массив, и каждое использование функции fromthewebpage (x, y) вызывает GetHTML независимо, что приводит к 52 извлечениям страницы. Существуют ли способы вызвать GetHTML только один раз и повторно использовать эту информацию для каждого использования fromthewebpage.
Я предполагаю либо 1) вызов GetHTML при открытии книги и сохранение информации в постоянном массиве, на который я могу ссылаться при использовании fromthewebpage, либо 2) создание fromthewebpage функции массива. Но я не знаю, возможно ли это и как это сделать.
udarray
статической в функцииfromthewebpage
и сохранить массив после анализа всех данных. При вызове функции сначала проверьте, заполнен ли массив, и если нет, проанализируйте данные. - person omegastripes   schedule 27.09.2018