Существует таблица со списком артикулов (6 знаков каждый). Эти артикулы нужно разнести по категориям. Категории я хочу брать с сайта conrad.de. Страница с товаром там вида http://www.conrad.de/ce/de/product/121704 - последние 6 цифр это и есть артикульный номер товара, который мне нужны отнести к какой-либо категории. На каждой странице товара указывается его категория (типа паяльное оборудование->паяльники->принадлежности). Вот категорию принадлежности и нужно добавить в таблицу Excel и добавить к ней артикульный номер. При сравнении следующего артикула, если категория уже сущестует в таблице, он должен добавляться в нее, если же нет, должна будет создаваться новая категория и т.д. Если не будет находить на сайте артикула - должен будет отнести в отдельнную таблицу или лист.
первый вопрос: реально ли это силами excel? второй: как? :)
{quote}{login=Hugo}{date=09.12.2011 11:28}{thema=}{post}Не вполне понятна задача (т.е. как что будет происходить){/post}{/quote}
как я себе представляю схему (возможно, проще как-то по-другому): excel берет из одной таблицы артикул, идет с ним на сайт (возможно, самостоятельно генерируя ссылку), затем берет категорию со страницы и вставляет ее в новую таблицу (если категория новая) и добавляет рядом артикул или просто вставляет артикул в уже существующую категорию.
{quote}{login=EducatedFool}{date=09.12.2011 11:28}{thema=}{post}> Не понял, как должен выглядеть результат (структура таблицы с разбивкой по категориям) {/post}{/quote}
реультат должен выглядеть так (см. приложенный файл)
Привязаться к коду можно так (вернее получить текст страницы в sHtmlCode):
Public sURL As String, sHtmlCode As String
Private Sub URL2HTML() 'Загружает Web-страницу, заданную переменной sURL, и помещает HTML в sHtmlCode Dim objHttp As Object On Error Resume Next Set objHttp = CreateObject("MSXML2.XMLHTTP.3.0") If Err.Number <> 0 Then Err.Clear Set objHttp = CreateObject("MSXML2.XMLHTTP") If Err.Number <> 0 Then Set objHttp = CreateObject("MSXML.XMLHTTPRequest") End If End If If objHttp Is Nothing Then MsgBox "Невозможно создать объект для подключения к интернет!", 48, "Ошибка" End End If If objHttp Is Nothing Then Exit Sub objHttp.Open "GET", sURL, False On Error Resume Next objHttp.Send If Err.Number <> 0 Then MsgBox "Отсутствует доступ в интернет!", 48, "Ошибка" End End If On Error GoTo 0 sHtmlCode = objHttp.responseText Set objHttp = Nothing End Sub
С этого можно стандартным web-запросом взять, всю таблицу цен в одну колонку. Но вот как потом красиво разбить по колонкам - не вижу легкого способа...
а можно сделать так, чтобы с сайта закачивались данные на определенный день и просто были перед глазами т.е. в документ excel а потом уже самой ручками данные вбивать?