Страницы: 1
RSS
Вставка картинки в Excel 2010 (сохранения самих картинок в тушке файле)
 
Возможно проблема где-то уже всплывала.  
 
Суть такова, есть макрос, который вставляет картинки в файл экселя. Как я понимаю эксель сам по себе "не в пихивает в себя картинки" а только пихает ссылки на картинки и отображает их. В 2003 excele все работает как часы, а вот в 2010 начались проблемы.  
 
Проблема в следующем.  
При переоткрытии файла пропадают все картинки, и выводиться сообщения о том что файл с картинкой был перемещен или переименован. Предполагаю что это связано с моими ограниченными правами на рабочем компьютере. Если ручками вставлять, то все картинки остаются.  
 
Вопрос в следующем как сделать так чтобы картинки сохранялись в самом экселе?
 
{quote}{login=Bobgood}{date=16.08.2011 04:27}{thema=Вставка картинки в Excel 2010 (сохранения самих картинок в тушке файле)}{post}...Суть такова, есть макрос, который вставляет картинки в файл экселя...{/post}{/quote}  
Вариант - файл с макросом должен быть с расширением 2007/2010 - *.xlsm; разрешить макросы...  
-95685-
 
В окне "Вставка рисунка" у кнопки "Вставить" есть выпадающий список, там опции "Вставить", "Связать", "Вставить и связать".  
Видимо, в макрос записана команда "Связать". Запишите то и другое действие, найдите отличие, исправьте макрос.
 
{quote}{login=Z}{date=16.08.2011 04:32}{thema=Re: Вставка картинки в Excel 2010 (сохранения самих картинок в тушке файле)}{post}{quote}{login=Bobgood}{date=16.08.2011 04:27}{thema=Вставка картинки в Excel 2010 (сохранения самих картинок в тушке файле)}{post}...Суть такова, есть макрос, который вставляет картинки в файл экселя...{/post}{/quote}  
Вариант - файл с макросом должен быть с расширением 2007/2010 - *.xlsm; разрешить макросы...  
-95685-{/post}{/quote}  
 
Макром пересохранил с расширением 2007/2010. не помогло.
 
{quote}{login=Казанский}{date=16.08.2011 04:43}{thema=}{post}В окне "Вставка рисунка" у кнопки "Вставить" есть выпадающий список, там опции "Вставить", "Связать", "Вставить и связать".  
Видимо, в макрос записана команда "Связать". Запишите то и другое действие, найдите отличие, исправьте макрос.{/post}{/quote}  
 
Был практически уверен что это как раз то, но при записи макрорекордер выдает одно и то же  
ActiveSheet.Pictures.Insert ******
 
В 2007 рекордер вообще не записывает вставку картинки х_х  
См. хелп по Shapes.AddPicture Method  
 
expression.AddPicture(Filename, LinkToFile, SaveWithDocument, Left, Top, Width, Height)  
 
expression   A variable that represents a Shapes object.  
...  
SaveWithDocument Required MsoTriState To save the picture with the document.
 
{quote}{login=Казанский}{date=16.08.2011 05:08}{thema=}{post}В 2007 рекордер вообще не записывает вставку картинки х_х  
См. хелп по Shapes.AddPicture Method  
 
expression.AddPicture(Filename, LinkToFile, SaveWithDocument, Left, Top, Width, Height)  
 
expression   A variable that represents a Shapes object.  
...  
SaveWithDocument Required MsoTriState To save the picture with the document.{/post}{/quote}  
 
 
 
excel 2007/2010 не только параноик относительно безопасности и всего остального...  
использовал другой макрос по вставке картинок используется та же самая запись    
 
Set f = cell.Parent.Pictures.Insert(путь)  
и он работает ??!!!!
 
Кто нибудь помогите пожалуйста.
 
Вот накропал примерчик хранения внутренних ресурсов в теле ёкселя. Идея спионерена у Sam Radakovitz с евоного датапикера.
 
Вот накропал примерчик хранения внутренних ресурсов в теле ёкселя. Идея спионерена у Sam Radakovitz с евоного датапикера и всплывающей кнопки.
 
{quote}{login=vlad99}{date=17.08.2011 12:54}{thema=}{post}Вот накропал примерчик хранения внутренних ресурсов в теле ёкселя. Идея спионерена у Sam Radakovitz с евоного датапикера и всплывающей кнопки.{/post}{/quote}  
 
честно говоря практически не понял этого примера...  
 
Вопрос остается:  
 
Как в excel 2010 с помощью VBA сохранять вставленные картинки в теле файла, а не как ссылка на файл картинки.
 
Да в общем понятно - картинки хранятся в теле макроса в шестнадцатеричном виде, кодом сохраняются в файл, который подгружается. Т.е. с CD/DVD работать не будет :)  
Практический вопрос - чем получить эти коды в текст (на экране я их вижу)?  
И почему длина этих строк именно такая?
 
>>чем получить эти коды в текст (на экране я их вижу)?  
 
Попробую угадать, открыть в командире F3, Вид-Hex
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Это знаю, вижу (я ведь написал). А как текст получить "на бумаге"? WinHex искать?
 
не понял вопроса. Там есть процедура WriteFileBinary  
 
=99931=
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Не понял... Я о том, что когда будешь писать код, нужно где-то скопипастить эти буквы/цифры, не набирать ведь с экрана....
 
блин, какая-то дурацкая ситуация...  
в excel 2003 с помощью команды .Pictures.Insert(Путь) все вставало как надо, можно было передавать файл куда угодно и не думать, будут ли отображаться картинки или нет.  
А в 2010 сделали совершенно дурацкий ход с этими ссылками, чем они там думали только....  
 
кто нибудь помогите, изрыл уже весь инет, очень надо!!!!
 
пример. Читает изображение в переменную и создает файл с таким же изображением
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Такс, а как эту v в коде сохранить, чтоб потом выгрузить?
 
{quote}{login=nerv}{date=25.08.2011 05:02}{thema=}{post}пример. Читает изображение в переменную и создает файл с таким же изображением{/post}{/quote}  
 
Это все хорошо, но как вставить картинку в сам файл excel, и не как ссылку, а непосредственно в файл.
 
> но как вставить картинку в сам файл excel, и не как ссылку, а непосредственно в файл.  
 
Попробуйте новую версию надстройки для вставки изображений в Excel:  
http://excelvba.ru/code/InsertPicturesEx  
 
Я там переделал код вставки - теперь картинки должны сохраняться вместе с файлом.
 
>>Такс, а как эту v в коде сохранить, чтоб потом выгрузить?  
 
А есть смысл сохранять в коде? Может проще на листе
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Спасибо, сработало.  
В принципе, можно так на скрытом листе их держать и при надобности выгружать на диск.  
Код Игоря ещё не смотрел.
 
Да не за что. Строка ниже - лишняя  
 
>>Put Handler, i + 1, vbNullString
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=EducatedFool}{date=25.08.2011 06:12}{thema=}{post}> но как вставить картинку в сам файл excel, и не как ссылку, а непосредственно в файл.  
 
Попробуйте новую версию надстройки для вставки изображений в Excel:  
http://excelvba.ru/code/InsertPicturesEx  
 
Я там переделал код вставки - теперь картинки должны сохраняться вместе с файлом.{/post}{/quote}  
 
Да, работает.    
Но очень очень сильно огорчил пароль на макросе.  
Может быть вы поделитесь информацией как это сделать? Какую функцию использовать?
 
1
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=nerv}{date=26.08.2011 12:18}{thema=}{post}1{/post}{/quote}  
 
 
=))
Страницы: 1
Читают тему
Наверх