Страницы: 1
RSS
Получение данных из web
 
Добрый день, помогите с макросом.  
Необходимо импортировать таблицу из интернета и записать ее в переменную.  
 
Сейчас использую вот этот код:  
   With ActiveSheet.QueryTables.Add(Connection:="URL;http://www.yandex.ru", _  
       Destination:=Range("$A$1"))  
       .Name = "www.yandex.ru"  
       .FieldNames = True  
       .RowNumbers = False  
       .FillAdjacentFormulas = False  
       .PreserveFormatting = False  
       .RefreshOnFileOpen = False  
       .BackgroundQuery = True  
       .RefreshStyle = xlInsertDeleteCells  
       .SavePassword = False  
       .SaveData = True  
       .AdjustColumnWidth = True  
       .RefreshPeriod = 0  
       .WebSelectionType = xlSpecifiedTables  
       .WebFormatting = xlWebFormattingAll  
       .WebTables = """body"""  
       .WebPreFormattedTextToColumns = True  
       .WebConsecutiveDelimitersAsOne = True  
       .WebSingleBlockTextImport = False  
       .WebDisableDateRecognition = True  
       .WebDisableRedirections = False  
       .Refresh BackgroundQuery:=False  
   End With  
 
Но этот код записывает данные на рабочий лист, а мне необходимо, чтобы таблица записывалась в переменную, к элементам которой я бы мог потом обращаться в макросе.
 
Можно записать данные в переменную уже с листа, но если необходима записать данные из веб непосредственно в переменную без изменения листа, то это проблему не решает.
 
Можно создать новый лист, загрузить в него данные, перекинуть их в переменную, лист удалить.
 
А чтобы сразу в переменную записать?    
У меня не одна таблица, и если для каждой создавать и удалять листы, то excel переключается между листами постоянно. Не удобно.
 
{quote}{login=Pustota}{date=19.04.2010 02:00}{thema=}{post}если для каждой создавать и удалять листы, то excel переключается между листами постоянно. Не удобно.{/post}{/quote}  
Чтобы было удобно, есть  
   Application.ScreenUpdating = False
 

В принципе, есть варианты получения данных из таблиц с веба, исключая запись на лист. но тут надо использовать не веб-запрос, а загружать веб-страницу, и программно работать с HTML. Это намного сложнее, чем составить веб-запрос. <BR>пример кода можно посмотреть в этой теме: http://www.planetaexcel.ru/forum.php/?thread_id=12478

 
Application.ScreenUpdating = False -  Помогло. Отлично.!!!!  
 
Попробую теперь разобраться с HTML.  
 
Спасибо всем, кто откликнулся
Страницы: 1
Читают тему
Наверх