Штрихкод в Excel Code 128

preview_player
Показать описание
Штрихкод Code 128

Я конечно заподозрил, что здесь чтото не чисто и проверил.

Проверка и дальнейший разбор подтвердил, что не чисто там всё.
Как оказалось штрихкоду недостаточно выглядеть, как штрих-код. Ему помимо кодируемой информации оказывается нужен еще и стартовый символ, контрольный ключ и закрывающий символ.

Все мануалы ведут на формирование каких-то картинок методом родов ежа, либо вовсе являются платными и тоже выдают картинки.

Был момент слабости и мысль "взять и забить" но нет.

И, спустя 1000 нецензурных слов, десятка чашек кофе и 12 часов времени мне таки удалось победить этого страшного дракона.
Функция заняла всего 8 строчек кода.

'Замените надпись "больше или равно" на соответствующие символы.
Отдельное СПАСИБО пользователю Александр (он в закрепленном комментарии) за зоркий глаз, светлый ум и внесенные корректировки.
Function Code128(Str As String)
cs = 104
For i = 1 To Len(Str)
s = Asc(Mid(Str, i, 1))
cs = cs + (s + IIf(s БОЛЬШЕ= 32, -32, 64)) * i
Next i
sh = cs Mod 103
sh = sh + IIf(sh БОЛЬШЕ 94, 100, 32)
Code128 = ChrW(204) & Str & ChrW(sh) & ChrW(206)
End Function
Рекомендации по теме
Комментарии
Автор

Спасибо Вам огромное! За видео, код и ту огромную работу которую вы проделали. Весь восторг не описать.

EvgenieM
Автор

Огромное спасибо! Найдя решение Вы сэкономили мне массу времени

АлександрПичугин-ве
Автор

Спасибо Павел ! Сэкономил кучу времени !! С меня лайк и подписка )

АндрейЗадорожный-цг
Автор

Спасибо вам большое, два месяца назад задумался о такой теме м недавно начал реализовывать. Столкнулся с проблемами и если бы не ваше видео, то ещё бы пришлось разбираться.

МатвейТимофеев-дц
Автор

Лучшее решение из всех существующих
Спасибо!

dykomenko
Автор

Спасибо Вам огромное!!! Все работает!!! Объеденил с ценниками.

НиколайПетрович-жц
Автор

Супер! Огромное Вам спасибо!
Какой же Вы Молодец!👍👏👏👏

АнтонЕгоренков-нц
Автор

Подскажите для каждого шрифта нужно расчитывать свою контрольную сумму ?

madTTA
Автор

Есть еще одно НО - в штрих-код могут вшиваться и другие команды (не только Старт, Стоп и КС), например переход на другой диапазон (А, В, С)

alekseidenisenkov
Автор

5:00 «Сидел с линейкой, прикидывал. Я так не развлекался наверное...
Давно я так не развлекался» 😂

kuatle
Автор

Здравствуйте. Большое спасибо за данное видео, голову ломал почему шрифт выдает штрихкод отличный от шк-генераторов и не читается сканером. Все сделал как у вас. Заработало. Но столкнулся с одной проблемой и не знаю почему так. Буду премного благодарен если подскажите. Проблема такая что например ввожу баркод WB_1117418268 и среди черточек всплывает буква Г.
И таких комбинаций при котором всплывает буквы много. Как это можно исправить?

rasimnabizade
Автор

Попытался сделать по вашей системе,
у меня не получилось решил посидеть и немного изменить код.
Вот то к чему я пришёл
Function Code128B(inputStr As String) As String

cs = 104
For i = 1 To Len(inputStr)
s = Asc(Mid(inputStr, i, 1))
cs = cs + (s + IIf(s >= 32, -32, 64)) * i
Next i
sh = cs Mod 103
sh = sh + IIf(sh > 94, 100, 32)

result = ChrW(204) & inputStr & ChrW(sh) & ChrW(206)
Code128B = result
End Function

МотиЛейдерман
Автор

Павел, здравствуйте. Ваши видео и решение вопросов великолепны!
Подскажите, пожалуйста, как по такому же принципу из ячейки сгенерировать DataMatrix код с использованием картинок или без них? Чтобы получить код в нужную ячейку.

АлексейИванов-яф
Автор

Здравствуйте! Спасибо за информацию. А есть генератор QR coda?

online-ocenka
Автор

Здравствуйте! Когда я печатаю через обычный принтер, то штрих-код превращается в символы-цифры(
Как с этим справиться?

shifcre
Автор

Есть еще одно НО, в этот штрих-код могут вшиваться команды для сканера )))

alekseidenisenkov
Автор

Подскажите. Возможно ли изменить скрипт, что бы под шрихкодом отображались буквы и цифры которые в нём закодированы. Пробовал ваш скрипт использовать со шрифтом Libre Barcode 128 Text. Всё вроде работает, но в конце отображается лишний символ которого в тексте для штрихкода нет. Сканер считывает штрихкод без ошибок и лишний символ не учитывает.

xiiixiii-sp
Автор

Понял почти всё кроме самого главного - момент высчитывания контрольной суммы и значений в макросе. Допустим есть код 80291156. Необходимо преврать в шк code 128. Что необходимо высчитывать?

coldinsect
Автор

Если писать текст, то штрихкод действительно полностью совпадает с генератором. Но если цифры, то нет. Хоть и считывается сканером.

saa.samara
Автор

Здравствуйте, сделал всё как вы говорили, но вместо штрих кода получаются квадраты

АлёнвМурашко