проблему решил. знак "&" заменил на "%26" и всё заработало.
Генерация QR кодов в эксель
14.09.2018 14:37:27
|
|
|
|
13.08.2019 12:39:02
|
|
|
|
20.08.2019 15:57:05
Получилось немного по другому. Код выполняется по изменению ячейки.
Компоненту надо добавлять руками в инструменты разработчика. Судя по всему на 2013м офисе и ниже не работает, т.к. просто выдаёт ошибку при добавлении. Авось кому пригодится, чтобы не тратить 2 недели на эти 15 строк кода.)))
Изменено: |
|
|
|
11.04.2020 18:21:11
TorLink, всё хорошо, но с русскими символами не работает. Сканером выдает "Крякозябры"
|
|
|
|
13.04.2020 23:34:10
Самый эффективный способ не реализован. Придется исправить. Держите COM/ActiveX. Функция QRcodePrint на исходниках библиотеки Функция возвращает код ошибки. Если = 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%) Собственно всё, качаем
На всякий случай прикладываю и файл Excel. Ниже QR-код на этот пост.
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|||||||||
|
|
21.04.2020 23:21:05
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, в виде Продукт для меня новый, трудоемкость вышла выше, чем для остальной части работ по этой функции. 3. Побочным эффектом освоения GDI+ стал метод конвертации вышеперечисленных форматов в любых сочетаниях, пример приложил в посте 35, код прост
4. Добавил рамку в 4 модуля (пикселя QR) в соответствии 5. Дописал обработчик ошибок (в задаваемых аргументах).
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|||
|
|
24.07.2020 00:39:00
Профи подскажите ,есть где-то видео ,как это устанавливается и работает?
|
|
|
|
24.07.2020 10:19:47
Видео не делал, можно посмотреть пример
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
24.07.2020 15:02:43
|
|
|
|
24.07.2020 23:30:20
Это видео через поиск тоже видел. Работает qr по интернету.
как бы запустить без библиотеки и интернета. |
|
|
|
25.07.2020 13:26:28
От зарубежный коллег есть еще макрос такой.. НО для кодов с большим количеством символов попросит оперативки и терпения в прорисовке bar-кода |
|||
|
|
25.07.2020 13:56:45
vlad000, вопрос был по QR-коду, по вашей ссылке открывается генерация штрих-кода. Или я не так понял ваш пост?
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
25.07.2020 14:00:53
|
|||
|
|
25.07.2020 14:33:53
Да, действительно есть. Интересный проект. Скачал файл, посмотрю реализацию.
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
30.10.2020 07:07:45
|
|||
|
|
30.10.2020 07:30:18
могу посоветовать использовать свойства и методы, которые поддерживаются этим обьектом
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
|
|
|
|
30.10.2020 14:57:06
Igor, приведите код, который вы используете.
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
30.10.2020 17:54:30
Всем привет. Вот кому интересно, нашел на GitHube генератор QR кодов, с кирилицей у меня работает нормально.
Вот пример его работы: |
|
|
|
13.02.2021 16:13:39
|
|
|
|
13.04.2021 16:57:48
Теперь генерация QR-кода в Excel еще проще - просто пишем формулу (функцию
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
13.04.2021 17:09:21
bedvit, как то ставил Вашу dll все работало, потом переустановил систему и не хочет работать. Побольше описания как ее установить опиши
|
|
|
|
13.04.2021 17:23:22
Тимофеев, зайти по ссылке, скачать архив и запустить установщик (или ручками поставить нужную версию в папку ...AppData\Roaming\Microsoft\AddIns)
Всё. Параметры/Аргументы функции QRcodePrint : 1. QRcodeText - что печатаем, строка(обязательное). 2. SizePixel - размер пикселя (не картинки, а квадратика в QR), по умолчанию 4 (минимально рекомендуемый) 3. PixelColorR =0 цвет RGB (0-255) если хотим цветную картинку (по умолчанию черный) 4. PixelColorG = 0 5. PixelColorB =0 6. VersionSymbol - версия QR кода (1-40) (по умолчанию = 0-выбор автоматом), см. ниже 7. LevelErrCorrect - уровень коррекции ошибок (0-3, по умолчанию = 1 ~15%), см. ниже 8.WidthImage - постоянная ширина (т.к. при кодировании разного размера данных размер QR меняется). Если хотим постоянный размер - проставляем. По умолчанию "-1" (размер фактический) 9.HeightImage - постоянная высота, тоже, что и п.8 10. QuietZone - Размер в модулях зоны тишины (quiet zone — это область, отделяющая границу штрих-кода от фона и других изображений). По умолчанию = 4. Начиная с версии xll - v2.0.1.6 Результат: При удаче, возвращается закодированная в QR-коде строка, при ошибке - "#ЧИСЛО!" При обновлении данных, функция создает новый QRcode, старый удаляется, если он находится в этой же ячейке, в которой рассчитывается функция (левый, верхний угол рисунка). В функции можно делать любые ссылки, в т.ч. и в другую книгу. Функционал новый, в случае багов прошу писать. Протестировал на двух ПК, разной конфигурации и разрядности Excel - полет нормальный. Собственно это усовершенствованный вариант с Матчасть по версия QR кода - 1-40 и коррекции ошибок 0-3 (L-H) upd: 14/04/2021 - нашел ошибку для x32 систем, поправлю, отпишу upd: 15/04/2021 - поправил. Думаю, с детскими болезнями покончено. Тимофеев, отпишитесь, получилось ли сейчас использовать данный функционал и вашу систему, на которой запускаете.
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
20.06.2021 17:03:56
Виталий, добрый день!
Использовал вашу надстройку BedvitXLL2.0.1.3 (последнюю скачанную) в своей программе для генерации QR-кода. Все вроде бы хорошо. Но обнаружил одну неприятную вещь - при включенной надстройке BedvitXLL - Excel сбрасывает значение глобальных переменных (заданных в главном модуле) на дефолт... Булевы переменные сбрасываются в False, числовые в 0. Если отключаешь надстройку, то все нормально. С этим можно как то разобраться? Уж очень не хочется переписывать программу(и урезать ее функционал) из-за этого.. |
|
|
|
20.06.2021 23:48:26
Владимир Михайлик, добрый день. Встречаюсь с таким поведением впервые. Сможете выслать небольшой пример, на условных данных? Какой разрядности и версии у вас Excel?
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
21.06.2021 09:42:40
Добрый день! Ну вот простой пример (во вложении). В главном модуле задана глобальная переменная "restest".
В Workbook_Open() ей задается значение. При "перещелкивании" с Лист2 на Лист1 (в его Activate) MsgBox выводит значение переменной. При отключенной надстройке оно выводится равным 25 (как и задано в Workbook_Open() ). При включенной надстройке оно выводится, равным нулю.. М.б. я чего то не догоняю...
Изменено: |
|
|
|
21.06.2021 09:44:34
Забыл про версию офиса написать - MS Office 2021 VL X86
Изменено: |
|
|
|
21.06.2021 09:45:08
На Office 2019 тоже самое было..
Изменено: |
|
|
|
21.06.2021 18:00:47
Проблема опознана. Завтра напишу решения.
Итак... данная ситуация возникает, когда глобальной переменной присвоено значение, а потом в референсах проекта VBA подключается какая-либо библиотека. Почему данная проблема выявилась при использовании XLL? Потому, что XLL подключает СОМ, после присваивания значения переменной, т.к. код загрузка XLL выполняется после выполнения события Workbook_Open (и подключается библиотека СОМ для раннего связывания) Варианты решения: 1.Через Application.OnTime присваивать значения чуть позже события Workbook_Open, к примеру через 1 сек (за это время загрузится XLL) 2.Присваивать значения переменным, после открытия XLL. 3.Отключить в XLL авто-подключение СОМ в референсах (сделал кнопку, см. рис., новую версию выложил на сайт) и при необходимости в нужном файле - включить ручками, если нужно раннее связывание, и если не нужно - пользоваться поздним и ничего не нужно подключать.
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
23.06.2021 08:47:58
Виталий, спасибо за подсказку! Попробовал варианты 3 и 1 из предложенных.
3 - авто-подключение СОМ (отключение кнопкой) работает. Вариант 1 тоже работает (см. во вложенном примере). На каком лучше остановиться - надо подумать.. Наверное вариант 1 (с задержкой через Application.OnTime) более универсальный..
Изменено: |
||||
|
|
|||