Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Прайс в XLS переделать в CSV, Загрузка Прайса в БД Интернет-магазина
 
Картинки будут называться определенным образом.
Наименования формируются на основании названия продукции.
И размещаются в определенных папках.

Так что думаю всё должно быть нормально.

Программу изучу, интересно. Спасибо!

Алексей
Прайс в XLS переделать в CSV, Загрузка Прайса в БД Интернет-магазина
 
Приветствую форумчан.
Есть небольшое дельце..

Дано: Прайс поставщика вот в таком формате:

[img]http://img-fotki.yandex.ru/get/9254/13200805.f/0_da8db_fac6c59f_XL.jpg[/img]

Надо: Переделать его в csv в формате загрузки в БД Магазина.

https://cloud.mail.ru/public/595f869686bb/product_export_0-1000_2014-03-13-1149.csv

При этом из прайса нужно выделить производителя, модель, размер и что-то там ещё.
Обратите внимание на кодировку.
В общем, ничего супер сложного. Сделал бы сам, но времени нет (мотошмотки же, а сезон на носу).
Подробности желающим расскажу в Скайпе или по телефону.

Предложения, с указанием примерной цены, срока, скайпа или телефона, пишите, пожалуйста, в личку.
Я с Вами свяжусь, обсудим детали.
Заранее всем спасибо.

Алексей
Изменено: Алексей Новиков - 19.03.2014 22:09:24
Сравниваем содержимое ячейки со справочником в Надстройке!
 
Пока писал - сам всё понял.  
 
В начале писал EmpCol, а под конец EmplCol  !!!!  
 
Вот я лошара :)
Сравниваем содержимое ячейки со справочником в Надстройке!
 
Задача очень простая.  
Есть надстройка. В надстройке есть единственный лист, назван "Spravochnik".  
На листе есть столбец со справочными значениями - SprCol (начиная с 4 строки)  
 
Необходимо проверить содержимое нескольких ячеек (EmplRow, EmpCol)с листа Worksheets("Employees") открытой и (на момент начала проверки активной) книги на соответствие справочнику.  
 
Если значение ячейки не соответствует справочнику - красим эту ячейку (на листе "Employees") в красный цвет.  
 
Написал процедуру (см ниже). Работает!  
 
НО ЯЧЕЙКА НЕ КРАСИТСЯ. Просто слетает и всё.  
 
Вопрос: Почему?  
 
Sub Check120(EmplRow, EmpCol, SprCol)  
   Dim i As Byte  
   Dim St As String  
   St = Trim(Worksheets("Employees").Cells(EmplRow, EmpCol))  
   LastSprCol = Spravochnik.Cells(Rows.Count, SprCol).End(xlUp).Row  
   For i = 4 To LastSprCol  
   If St = Spravochnik.Cells(i, SprCol) Then  
   Exit Sub  
   Else  
   End If  
   Next  
   Worksheets("Employees").Cells(EmplRow, EmplCol).Interior.ColorIndex = 3  
   Worksheets("ErrLog").Cells(LogRow, 3) = "Значение поля '" & Worksheets("Employees").Cells(1, EmplCol) & "' не соответствует справочнику"  
   LogRow = LogRow + 1  
End Sub
Проверка ячейки на недопустимые символы.
 
Спасибо!  
Тоже вчера "допер" до такой схемы.  
 
Вот что получилось:  
 
Sub Check110(EmplRow, EmplCol, Sym1, Sym2)  
   Dim i As Byte  
   Dim St As String  
   St = Trim(Worksheets("Employees").Cells(EmplRow, EmplCol))  
   For i = 1 To Len(St)  
   Select Case Mid(St, i, 1)  
   Case 0 To 9  
       Sym = 1  
   Case "a" To "z"  
       Sym = 2  
   Case "A" To "Z"  
       Sym = 3  
   Case "à" To "ÿ"  
       Sym = 4  
   Case "À" To "ß"  
       Sym = 5  
   Case "-"  
       Sym = 6  
   Case " "  
       Sym = 7  
   Case "."  
       Sym = 8  
   Case Else  
       Sym = 0  
   End Select  
   If Sym < Sym1 Or Sym > Sym2 Then  
   Worksheets("Employees").Cells(EmplRow, EmplCol).Interior.ColorIndex = 3  
   Worksheets("ErrLog").Cells(LogRow, 3) = "Ïîëå '" & Worksheets("Employees").Cells(1, EmplCol) & "' ñîäåðæèò íåäîïóñòèìûå ñèìâîëû"  
   LogRow = LogRow + 1  
   Exit Sub  
   Else  
   End If  
   Next  
End Sub  
 
 
Зато теперь можно проверять не только фамилии, но и, скажем должности:  
 
'   Проверка фамилии (столбец 1) на недопустимые символы (допустимы: буквы, "-" и " ")  
   Check110 EmplRow, 1, 2, 7  
 
'   Проверка должности (столбец 2) на недопустимые символы (допустимы: ЦИФРЫ, буквы, "-" и " " и ещё ".")  
   If Worksheets("Employees").Cells(EmplRow, 8) = "" Then  
   Else  
   Check110 EmplRow, 2, 1, 8  
   End If  
 
Алексей
Проверка ячейки на недопустимые символы.
 
Почти работает.  
Но как-то некрасиво:  
 
Sub Check110(EmplRow, EmplCol)  
   Dim i As Byte  
   Dim St As String  
   St = Trim(Worksheets("Employees").Cells(EmplRow, EmplCol))  
   For i = 1 To Len(St)  
   If UCase(Mid(St, i, 1)) Like "[А-Я]" Or UCase(Mid(St, i, 1)) Like "[A-Z]" Or Mid(St, i, 1) = "-" Or Mid(St, i, 1) = " " Then
   Else  
   Worksheets("Employees").Cells(EmplRow, EmplCol).Interior.ColorIndex = 3  
   Worksheets("ErrLog").Cells(LogRow, 3) = "Поле '" & Worksheets("Employees").Cells(1, EmplCol) & "' содержит недопустимые символы"  
   LogRow = LogRow + 1  
   Exit Sub  
   End If  
   Next  
End Sub  
 
Вспмнил ещё про "пробел" который бывает в фамилиях типа "Исламова Севда Джалил кызы"  
 
Возможно ли оптимизировать код?  
 
Алекс
Проверка ячейки на недопустимые символы.
 
Спасибищще всем!!!  
Поразительная оперативность!  
 
Алекс
Проверка ячейки на недопустимые символы.
 
Всем привет.  
Поиском ничего похожего не нашел. Странно, задача по идее не эксклюзивная.  
Есть некая ведомость. Необходимо проверить каждую ячейку столбца "Фамилия" на недопустимые в фамилии символы.  
По идее фамилия может содержать только буквы А-Я и A-Z ну и "-".  
А символы типа ".", ":","?","*","..." т.д. - являются недопустимыми.  
 
Помогите плз. грамотно решить задачу.  
 
Алексей  
(файл прикладывать смысла нет, суть вроде ясна)
Страницы: 1
Наверх