Здравствуйте, друзья! Суть проблемы в следующем. Есть UserForm, на ней элемент WebBrowser. В него загружаются изображения из интернета. Иногда эти картинки имеют формат webp, расширение при этом может быть и jpg. WebBrowser не умеет отображать webp-картинки. Тупо вставить в эксель по ссылке тоже нельзя. Нельзя вставить даже скопировав картинку из браузера. Варианты типа "на сайте есть аналог в нормальном формате" тут не работают, дубликатов картинок на сайте нет - это 99,9% (весь код прошерстил; также пытался найти аналог/исходник, в тупую редактируя адрес url) Сейчас использую офис 2013.
Я "реализовал" (через жопу) на 15% рабочий вариант. Но похоже, даже он нормально работать не хочет. Это "работает" так: Скачал кодек для открытия webp штатной программой для просмотра изображений на windows 7. После установки, картинки действительно стали открываться и отображаться миниатюрами в папке. Даже можно вставить эту картинку на лист эксель (без кодека - нельзя). Но вот элементы userform Image и Label такую картинку по-прежнему не открывают/не отображают. Я пошел дальше. Оказывается её можно открыть в Виндовс Медиа Плеер! Вставил элемент WMP в userform. ЗАРАБОТАЛО! Но только один раз... при повторных запусках WMP зависает (видимо открывается на весь размер формы и бесконечно всё мерцает). Помогает только диспетчер задач. Решение подобной проблемы вот тут. Но мне оно не подошло, т.к. у моего WMP нет такого свойства "Auto Start". На данный момент отказался от WMP. Но мне не дает покоя мысль, раз картинку можно вставить на лист, то должен быть способ вставить её на userform. Если что, вот картинка в формате WEBP: https://images.ua.prom.st/3551056212_w640_h640_3551056212.jpg Может быть тут есть люди, которые сталкивались с этим и что-то придумали. Свой файл не прикрепляю, т.к. он очень большой с мудрёной формой. Если нужно, сделаю отдельно форму с нужными элементами.
Здравствуйте, друзья! Суть проблемы в следующем. Есть UserForm, на ней элемент WebBrowser. В него загружаются изображения из интернета. Иногда эти картинки имеют формат webp, расширение при этом может быть и jpg. WebBrowser не умеет отображать webp-картинки. Тупо вставить в эксель по ссылке тоже нельзя. Нельзя вставить даже скопировав картинку из браузера. Варианты типа "на сайте есть аналог в нормальном формате" тут не работают, дубликатов картинок на сайте нет - это 99,9% (весь код прошерстил; также пытался найти аналог/исходник, в тупую редактируя адрес url) Сейчас использую офис 2013.
Я "реализовал" (через жопу) на 15% рабочий вариант. Но похоже, даже он нормально работать не хочет. Это "работает" так: Скачал кодек для открытия webp штатной программой для просмотра изображений на windows 7. После установки, картинки действительно стали открываться и отображаться миниатюрами в папке. Даже можно вставить эту картинку на лист эксель (без кодека - нельзя). Но вот элементы userform Image и Label такую картинку по-прежнему не открывают/не отображают. Я пошел дальше. Оказывается её можно открыть в Виндовс Медиа Плеер! Вставил элемент WMP в userform. ЗАРАБОТАЛО! Но только один раз... при повторных запусках WMP зависает (видимо открывается на весь размер формы и бесконечно всё мерцает). Помогает только диспетчер задач. Решение подобной проблемы вот тут. Но мне оно не подошло, т.к. у моего WMP нет такого свойства "Auto Start". На данный момент отказался от WMP. Но мне не дает покоя мысль, раз картинку можно вставить на лист, то должен быть способ вставить её на userform. Если что, вот картинка в формате WEBP: https://images.ua.prom.st/3551056212_w640_h640_3551056212.jpg Может быть тут есть люди, которые сталкивались с этим и что-то придумали. Свой файл не прикрепляю, т.к. он очень большой с мудрёной формой. Если нужно, сделаю отдельно форму с нужными элементами.emkub
В общем, после долгих мытарств, что получилось. Одна из проблем была в том, что запись в корень диска "С" проблемная - "недосточно прав" или что-то в таком духе, скачивание картинки 15 кб (килобайт) могло длиться до 7 секунд, к тому же не всегда успешно. После изменения адреса сохранения на "D" всё стало работать заметно лучше и быстрее. Но WMP на форме корректно так и не заработал. Все время пытается открыться в максимальном размере и идет бесконечно мерцание, все зависает. Решил остановиться на варианте, когда по требованию webp-картинка скачивается и просто открывается в стандартном просмотрщике изображений.
Просто из опытов и экспериментов. Webp-картинку получилось вставить только на лист. Ни во всплывающую подсказу/примечание к ячейке, ни в один из элементов на userform её вставить нельзя. Способа вставить на форму часть самого листа (а на него вставить картинку) я не нашел.
Понимаю, что всё это - нереальное извращение, но...
Но если кто-то знает более изящное решение (помимо изменения языка программирования ) - велком!
В общем, после долгих мытарств, что получилось. Одна из проблем была в том, что запись в корень диска "С" проблемная - "недосточно прав" или что-то в таком духе, скачивание картинки 15 кб (килобайт) могло длиться до 7 секунд, к тому же не всегда успешно. После изменения адреса сохранения на "D" всё стало работать заметно лучше и быстрее. Но WMP на форме корректно так и не заработал. Все время пытается открыться в максимальном размере и идет бесконечно мерцание, все зависает. Решил остановиться на варианте, когда по требованию webp-картинка скачивается и просто открывается в стандартном просмотрщике изображений.
Просто из опытов и экспериментов. Webp-картинку получилось вставить только на лист. Ни во всплывающую подсказу/примечание к ячейке, ни в один из элементов на userform её вставить нельзя. Способа вставить на форму часть самого листа (а на него вставить картинку) я не нашел.
Понимаю, что всё это - нереальное извращение, но...
Но если кто-то знает более изящное решение (помимо изменения языка программирования ) - велком!emkub
Сообщение отредактировал emkub - Понедельник, 10.01.2022, 14:26