#excel #vba #save
#excel #vba #Сохранить
Вопрос:
У меня есть код vba, который содержит GIF в кодировке base64.
Когда я копирую и вставляю закодированный gif-файл base64 из блокнота в мой вспомогательный процесс в vba следующим образом:
imgStr = imgStr amp; "data:image/gif;base64,R0lGODlh4AHwAPdrAEksR5CSk5KUlpSVl5aYmpibnJudnZ6fn653la6usLS0tba2tre4uLm5ubu6uru6vb6 vsXFxs/MzdDT0tnZ2d7d3ebn5 vq6 /x8fHx8fj5 f39/f7 /jsrRkEVPEMaQENxez8MNUEROUETO0EUO0ITOkwfRUFLWERNW1JfaVmfqa2ztESVm0AROTZNWj6LkS9pcqOenmiUmDl9gmpjdotlh"
imgStr = imgStr amp; "pmdnTV3fUGSl0COlECPlUCQljqLkkOPlTmAhz LklhJWUGPk5yYnmU9XxsjKC41PDM0NjQ9RUdSXkmgpk18iVBSVGpsbnAQWXodU4OEip0hUJ1CdKAfPaanqLFvgLMUH7QcMLcZJbtXc72SsL9TS8AyOcOzushVXNCfrNF5gN3d3d7x8d yud/f3 Pj4 34 PLy8vPx8/Tz8/X19fb19SAmLCInLSIpLyQoLiUrMS".....
затем я не могу сохранить его со следующей ошибкой: «Ошибки были обнаружены при сохранении ….».
У меня есть вырубка, она поставляется только со строкой копировать / вставить из блокнота, но я действительно не понимаю, что происходит.
Есть ли что-то, что уже сталкивалось с этой проблемой?
Спасибо!
Комментарии:
1. В конечном итоге он превышает 32 767 символов?
2. Да, это так, он достигает 197 000 символов. Но строка находится в подпроцессе, а не внутри ячейки. Мой код работает хорошо, проблема появляется только тогда, когда мне нужно сохранить..
3. Тогда вам придется найти другой метод. Подумайте, почему вам нужно сохранить изображение в виде строки base64. Существуют ограничения, которые вы не можете превышать. Возможно, вместо этого сохраните изображение в файл, а затем сохраните путь / имя файла к изображению. Трудно понять, что рекомендовать, не зная всего процесса. Просто знайте, что это не будет работать так, как вы хотите.
Ответ №1:
Я только что создал форму для анимации gif во время выполнения моего скрипта:
<HTML><BODY style='border-style:none;'><div style='align:center'><img alt='' src='" amp; imgStr amp; "' /></div></BODY></HTML>"
где imgStr — это мой закодированный 64 gif. Но я думаю, что он слишком большой..