Могу ли я перейти от элемента управления WebBrowser к встроенному изображению внутри файла Excel?

#vba #excel #webbrowser-control #xlsm

#vba #excel #webbrowser-control #xlsm

Вопрос:

У меня есть файл .xlsm с элементом управления ActiveX Microsoft Web Browser («Shell.Explorer.2»). Я использую VBA для открытия изображения внутри него:

 WebBrowser.Navigate Application.ActiveWorkbook.Path amp; "image.gif"
  

Я знаю, что если я помещу изображение на рабочий лист, оно будет сохранено внутри файла .xlsm. Такие изображения хранятся в файле .xlsm (который имеет ZIP-структуру) в папке xl media ‘.

Теперь я хотел бы переместить изображение из пути к книге в сам файл .xlsm. Как я могу затем обратиться к этому изображению из элемента управления WebBrowser? Должен ли я перейти к файлу внутри .xlsm в качестве ресурса или я могу сослаться на фигуру, содержащую изображение?

Я знаю о решении, основанном на копировании (или экспорте) изображения из формы и создании динамического HTML-кода для включения этого вновь скопированного изображения. Я все еще хотел бы найти способ без его копирования / экспорта.

Спасибо!

Комментарии:

1. Сохраните изображение в виде строки base64 и используйте uri данных в теге изображения, чтобы отобразить его через обновление DOM.

2. Спасибо, @AlexK. Хотя ваше предложение не отвечает на мой первоначальный вопрос о доступности внутренне сохраненных изображений, это все же ответ. Я действительно попробовал это, и это кажется совершенно правильным решением. Я был удивлен, что этот метод позволил загружать большие изображения (у меня было около 40 КБ, и мне пришлось разделить его на две ячейки), поскольку я слышал, что для uri данных существует ограничение в 2 КБ. Так почему бы не оставить это в качестве ответа, чтобы я (и, надеюсь, другие) могли проголосовать за это?