Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2012, 15:34   #1
Osferon
Новичок
Джуниор
 
Регистрация: 22.05.2012
Сообщений: 2
По умолчанию Excel обработка прайса VB

Есть прайс пример (price.xls), нтмл файлы больше 10 000 пример (.asp@cd=54075.html). Нужен макрос для автоматической обработки с таким алгоритмом:

1. Удаление позиций с отсутствующим товаром. Проверяем столбец "F" (файл "price.xml"), если "-" удаляем строку и переходим на следующую пока не достигнем конца прайса.
2. Поиск имени файла с нужной картинкой. На каждый товар в прайсе, есть нтмл файл в каталоге "d:/html",в котором указано имя файла с картинкой. Переходим в начало прайса и проверяем столбец "С", если в текущей ячейке цифровой код, ищем в имени которого есть такой же код (".asp@cd=54075.html" соответствует товару в "price.xml" поле "Код" которого "54075"), если такой файл не найден, переходи к следующей строке, если найден, тогда ищем в этом файле первое вхождение указывающее на имя файла с изображением pa9f8306oj.jpeg"
3.Ставим ссылку на файл изображение в столбце "Н" в файле "price.xls" ссылка должна состоять из двух частей: первая неизменная указывающая путь к файлам вида "http://sayt.com/",вторая часть имя файла которое мы искали в пункте 2.

В результате должен получиться прайс с заполненным столбцом "Н" ссылками на изображение товара пример в файле "priceout.xls"

Возможно ли это на VB?
Вложения
Тип файла: rar Мои документы.rar (7.7 Кб, 11 просмотров)
Osferon вне форума Ответить с цитированием
Старый 22.05.2012, 17:13   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Возможно.
Вам в помощь функция для получения ссылки на картинку,дабы не играться с DOM,а читать файл HTML как текст.
На остальное сейчас времени нет.
Код:
Public Function Get_Img(ByVal s) As String
        Dim n As Integer, m As Integer, sl As String
        s = Trim(s)
        bRes = False
        Set RegExp = CreateObject("VBScript.RegExp")
        RegExp.Global = False
        RegExp.IgnoreCase = True
        RegExp.Pattern = "<img[^>]+(src)\s*=\s*""?([^ "">]+)"
        bRes = RegExp.test(s)
        If bRes Then
                Set oMatches = RegExp.Execute(s)
                Get_Img = "http://sayt.com/" & oMatches(0).SubMatches(1)
        End If
End Function
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 23.05.2012, 12:30   #3
Osferon
Новичок
Джуниор
 
Регистрация: 22.05.2012
Сообщений: 2
По умолчанию

Очень благодарен за помощь, но к сожалению я далек от VB и не понимаю, что мне делать с этой функцией. Если, возможно дайте полное решение задачи. Возможна в качестве благодарности небольшая оплата.
Osferon вне форума Ответить с цитированием
Старый 23.05.2012, 12:35   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Пишите на strojservis_собака_nxt.ru,я думаю договоримся.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выборка из прайса Evgeny75 Microsoft Office Excel 3 23.02.2012 15:17
Обработка данных в excel moose512 Microsoft Office Excel 2 07.11.2010 13:32
прибавить % к ценам прайса (excel 2003) ukrman Microsoft Office Excel 15 10.06.2010 14:17
обработка Excel таблиц JSM Общие вопросы Delphi 4 10.04.2008 13:04