Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: Пред. 1 2
RSS
Генерация QR кодов в эксель
 
проблему решил. знак "&" заменил на "%26" и всё заработало.
 
Нашел вроде другую компоненту. Тут вот, работает без установки дополнений.
Кто-то может помочь скрестить её с этим файликом?
Так чтобы работало без кнопок и формочек. но не через гугл, а MSBCODE964.OCX
Изменено: TorLink - 13 авг 2019 13:02:23
 
Получилось немного по другому. Код выполняется по изменению ячейки.
Компоненту надо добавлять руками в инструменты разработчика.
Судя по всему на 2013м офисе и ниже не работает, т.к. просто выдаёт ошибку при добавлении.
Авось кому пригодится, чтобы не тратить 2 недели на эти 15 строк кода.)))
Изменено: TorLink - 20 авг 2019 15:57:24
 
TorLink, всё хорошо, но с русскими символами не работает. Сканером выдает "Крякозябры"
 
Цитата
TorLink написал:
на 2013м офисе и ниже не работает,
Цитата
Danil920 написал:
с русскими символами не работает.
Может просто
Цитата
B.Key написал:
можно наваять свой activex
и дело в шляпе?

Самый эффективный способ не реализован.
Придется исправить. Держите COM/ActiveX.
Функция QRcodePrint на исходниках библиотеки libqrencode (емкость QR-кода составляет до 7000 цифр или 4000 символов)
Функция возвращает код ошибки. Если = 0 - значит ошибок нет, отработано штатно.
Аргументы:
1. QRcodeText - что печатаем (обязательное)
2. FileOut - куда печатаем (обязательное)
3. FormatImageOut -  формат изображения 0 (bmp), 1 (jpeg), 2 (gif), 3 (tiff), 4 (png)-по умолчанию. (этот и остальные аргументы не обязательны)
4. SizePixel - размер пикселя, по умолчанию 4 (минимально рекомендуемый)
5. PixelColorR =0 цвет RGB если хотим цветную картинку (по умолчанию черный)
6. PixelColorG = 0
7. PixelColorB =0
8. VersionSymbol - версия символов (по умолчанию = 0)
9. LevelErrCorrect - уровень коррекции ошибок (0-4, по умолчанию = 1  ~15%)

Матчасть по аргументам.

Собственно всё, качаем BedvitXLL(1.0.2.4)_beta.zip, ставим нужной разрядности (Excel) надстройку, пишем код
Код
Sub QR_Generate()
Dim bVBA As Object: Set bVBA = CreateObject("BedvitCOM.VBA") 'позднее связывание
Dim OutFile As String: OutFile = "C:\QR.bmp"
Dim QRcodeText As String: QRcodeText = "https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=71988&TITLE_SEO=71988-generatsiya-qr-kodov-v-eksel&MID=1050801#message1050801"

ActiveSheet.Shapes.SelectAll: Selection.Delete
If bVBA.QRcodePrint(QRcodeText, OutFile) = 0 Then [a1].Select: ActiveSheet.Pictures.Insert (OutFile)
 
End Sub
и работаем с кириллицей и любыми знаками Юникода, в любой версии Excel.
На всякий случай прикладываю и файл Excel.
Ниже QR-код на этот пост.
QR.png (722 Б)
Изменено: bedvit - 21 апр 2020 23:33:38
«Бритва Оккама» или «Принцип Калашникова»?
 
21/04/2020 - v1.0.2.4
Изменения:
1. Появилась возможность сохранять изображения в другие форматы (в связи с чем изменилось количество аргументов), пост 35 скорректировал.
FormatImage (код в функции/формат): 0 (bmp), 1 (jpeg), 2 (gif), 3 (tiff), 4 (png) . По умолчанию 4 (png) - самый малый размер.
2. Теперь QR сохраняется в монохромное изображение. т.е. с 24 бит на пиксель ранее, до 1 бита на пиксель теперь.
В любом цвете RGB.
Итого изображение размером 1140*1140 в 24 бит .BMP - 3808 КБ, 1140*1140 в 1 бит .PNG - 2КБ (итого, почти в 2 тыс. раз меньше размер)
Для этого сначала свой велик собрал в монохромном BMP, потом решил использовать WIN API, в виде GDI+.
Продукт для меня новый, трудоемкость вышла выше, чем для остальной части работ по этой функции.

3. Побочным эффектом освоения GDI+ стал метод конвертации вышеперечисленных форматов в любых сочетаниях, пример приложил в посте 35, код прост
Код
bVBA.ConvertFormatImage File, ConvertToFile, 3 'формат

4. Добавил рамку в 4 модуля (пикселя QR) в соответствии со стандартом.
5. Дописал обработчик ошибок (в задаваемых аргументах).
Изменено: bedvit - 21 апр 2020 23:41:58
«Бритва Оккама» или «Принцип Калашникова»?
 
Профи подскажите ,есть где-то видео  ,как это устанавливается и работает?
 
Видео не делал, можно посмотреть пример здесь.
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
onuff написал:
гдето видео
QR Excel
Изменено: vlad000 - 24 июл 2020 15:03:12
 
Это видео через поиск тоже видел. Работает qr по интернету.
как бы запустить без библиотеки и интернета.
 
Для решения озвученного в посте 35 не нужен интернет.
Использовать проще простого:
1.Открыть (скачать) xll
2.Написать простой код из одной строки
Код
Sub QR_Generate()
If CreateObject("BedvitCOM.VBA").QRcodePrint("Здесь инфо для печати", "D:\QR.png") = 0 Then [a1].Select: ActiveSheet.Pictures.Insert ("D:\QR.png")
End Sub
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
onuff написал:
как бы запустить без библиотеки и интернета.
barcode-vba-macro-only
От зарубежный коллег есть еще макрос такой..
НО для кодов с большим количеством символов попросит оперативки и терпения в прорисовке bar-кода
 
vlad000, вопрос был по QR-коду, по вашей ссылке открывается генерация штрих-кода. Или я не так понял ваш пост?
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
bedvit написал:
о вашей ссылке открывается генерация штрих-кода.
QR в том числе, как разновидность графического кода
 
Да, действительно есть. Интересный проект. Скачал файл, посмотрю реализацию.
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
bedvit написал:
Для решения озвученного в посте 35 не нужен интернет.Использовать проще простого:1.Открыть (скачать) xll2.Написать простой код из одной строки
Сделал, как вы сказали. Изменил пути к графическим файлам на свои, но вываливается ошибка: "Run-time error 438. Object doesn't support this property or method". Можете что-нибудь посоветовать?
 
могу посоветовать использовать свойства и методы, которые поддерживаются этим обьектом
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Igor, приведите код, который вы используете.
«Бритва Оккама» или «Принцип Калашникова»?
 
Всем привет. Вот кому интересно, нашел на GitHube генератор QR кодов, с кирилицей у меня работает нормально.
Вот архив, он просто больше 300 кб.
Вот пример его работы:
QRCode.PNG (5.76 КБ)
 
Цитата
bedvit написал:
1.Открыть (скачать) xll2.Написать простой код из одной строки
Добрый день, можете подсказать, что нужно сделать, чтобы текст, переводящийся в QR code был не в "" после RcodePrint( , а брался из ячейки, а также картинка выдавалась в определенном месте?

Спасибо, разобрался
Изменено: Виктор - 20 ноя 2020 14:04:19
Страницы: Пред. 1 2
Читают тему (гостей: 2)
Наверх