Не сохраняются картинки в excel

 

Bobgood

Пользователь

Сообщений: 63
Регистрация: 01.01.1970

Возможно проблема где-то уже всплывала.  

  Суть такова, есть макрос, который вставляет картинки в файл экселя. Как я понимаю эксель сам по себе «не в пихивает в себя картинки» а только пихает ссылки на картинки и отображает их. В 2003 excele все работает как часы, а вот в 2010 начались проблемы.  

  Проблема в следующем.  
При переоткрытии файла пропадают все картинки, и выводиться сообщения о том что файл с картинкой был перемещен или переименован. Предполагаю что это связано с моими ограниченными правами на рабочем компьютере. Если ручками вставлять, то все картинки остаются.  

  Вопрос в следующем как сделать так чтобы картинки сохранялись в самом экселе?

 

{quote}{login=Bobgood}{date=16.08.2011 04:27}{thema=Вставка картинки в Excel 2010 (сохранения самих картинок в тушке файле)}{post}…Суть такова, есть макрос, который вставляет картинки в файл экселя…{/post}{/quote}  
Вариант — файл с макросом должен быть с расширением 2007/2010 — *.xlsm; разрешить макросы…  
-95685-

 

В окне «Вставка рисунка» у кнопки «Вставить» есть выпадающий список, там опции «Вставить», «Связать», «Вставить и связать».  
Видимо, в макрос записана команда «Связать». Запишите то и другое действие, найдите отличие, исправьте макрос.

 

Bobgood

Пользователь

Сообщений: 63
Регистрация: 01.01.1970

{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. не помогло.

 

Bobgood

Пользователь

Сообщений: 63
Регистрация: 01.01.1970

{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(путь)  
и он работает ??!!!!

 

Bobgood

Пользователь

Сообщений: 63
Регистрация: 01.01.1970

Кто нибудь помогите пожалуйста.

 

vlad99

Пользователь

Сообщений: 6
Регистрация: 01.01.1970

Вот накропал примерчик хранения внутренних ресурсов в теле ёкселя. Идея спионерена у Sam Radakovitz с евоного датапикера.

 

vlad99

Пользователь

Сообщений: 6
Регистрация: 01.01.1970

Вот накропал примерчик хранения внутренних ресурсов в теле ёкселя. Идея спионерена у Sam Radakovitz с евоного датапикера и всплывающей кнопки.

 

Bobgood

Пользователь

Сообщений: 63
Регистрация: 01.01.1970

{quote}{login=vlad99}{date=17.08.2011 12:54}{thema=}{post}Вот накропал примерчик хранения внутренних ресурсов в теле ёкселя. Идея спионерена у Sam Radakovitz с евоного датапикера и всплывающей кнопки.{/post}{/quote}  

  честно говоря практически не понял этого примера…  

  Вопрос остается:  

  Как в excel 2010 с помощью VBA сохранять вставленные картинки в теле файла, а не как ссылка на файл картинки.

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Да в общем понятно — картинки хранятся в теле макроса в шестнадцатеричном виде, кодом сохраняются в файл, который подгружается. Т.е. с CD/DVD работать не будет :)  
Практический вопрос — чем получить эти коды в текст (на экране я их вижу)?  
И почему длина этих строк именно такая?

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

>>чем получить эти коды в текст (на экране я их вижу)?  

  Попробую угадать, открыть в командире F3, Вид-Hex

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Это знаю, вижу (я ведь написал). А как текст получить «на бумаге»? WinHex искать?

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

не понял вопроса. Там есть процедура WriteFileBinary  

  =99931=

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Не понял… Я о том, что когда будешь писать код, нужно где-то скопипастить эти буквы/цифры, не набирать ведь с экрана….

 

Bobgood

Пользователь

Сообщений: 63
Регистрация: 01.01.1970

блин, какая-то дурацкая ситуация…  
в excel 2003 с помощью команды .Pictures.Insert(Путь) все вставало как надо, можно было передавать файл куда угодно и не думать, будут ли отображаться картинки или нет.  
А в 2010 сделали совершенно дурацкий ход с этими ссылками, чем они там думали только….  

  кто нибудь помогите, изрыл уже весь инет, очень надо!!!!

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

пример. Читает изображение в переменную и создает файл с таким же изображением

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Такс, а как эту v в коде сохранить, чтоб потом выгрузить?

 

{quote}{login=nerv}{date=25.08.2011 05:02}{thema=}{post}пример. Читает изображение в переменную и создает файл с таким же изображением{/post}{/quote}  

  Это все хорошо, но как вставить картинку в сам файл excel, и не как ссылку, а непосредственно в файл.

 

> но как вставить картинку в сам файл excel, и не как ссылку, а непосредственно в файл.  

  Попробуйте новую версию надстройки для вставки изображений в Excel:  

http://excelvba.ru/code/InsertPicturesEx  

  Я там переделал код вставки — теперь картинки должны сохраняться вместе с файлом.

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

>>Такс, а как эту v в коде сохранить, чтоб потом выгрузить?  

  А есть смысл сохранять в коде? Может проще на листе

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Спасибо, сработало.  
В принципе, можно так на скрытом листе их держать и при надобности выгружать на диск.  
Код Игоря ещё не смотрел.

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

Да не за что. Строка ниже — лишняя  

  >>Put Handler, i + 1, vbNullString

 

{quote}{login=EducatedFool}{date=25.08.2011 06:12}{thema=}{post}> но как вставить картинку в сам файл excel, и не как ссылку, а непосредственно в файл.  

  Попробуйте новую версию надстройки для вставки изображений в Excel:  

http://excelvba.ru/code/InsertPicturesEx  

  Я там переделал код вставки — теперь картинки должны сохраняться вместе с файлом.{/post}{/quote}  

  Да, работает.    
Но очень очень сильно огорчил пароль на макросе.  
Может быть вы поделитесь информацией как это сделать? Какую функцию использовать?

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

 

Guest

Гость

#27

26.08.2011 12:57:26

{quote}{login=nerv}{date=26.08.2011 12:18}{thema=}{post}1{/post}{/quote}  

    =))

Зачастую при работе в программе Excel пользователи сталкиваются с проблемой невозможности сохранения изображений из меню данной программы. Здесь возможны несколько вариантов.

Как сохранить картинку в Excel

Инструкция

Для того чтобы сохранить картинку, находящуюся в программе Microsoft Office Excel, воспользуйтесь специальным кодом, который извлекает графические файлы из книг данной программы и сохраняет их в виде отдельного элемента. Написать такой код можно самостоятельно, а также вы можете воспользоваться готовыми.

Воспользуйтесь также более простым способом для извлечения изображений из книги Excel. Здесь вам понадобится открыть его и сохранить в формате как веб-страницу – в html. После этого запомните папку, в которую вы выполняли сохранение вашего файла, найдите в ней появившуюся папку Images или папку с названием веб-страницы, которую вы сохранили. Найдите в ней отдельно нужные вам изображения.

Также извлеките изображения из программы Excel при помощи стандартного редактора, устанавливаемого вместе с Windows. Для этого откройте ваш Excel-файл и сделайте скриншот экрана при помощи кнопки PrintScreen в правом верхнем углу клавиатуры.

После этого запустите графический редактор, выберите создание нового файла, нажмите в редактировании на функцию «Вставить», после чего выполните кадрирование на ваше усмотрение. Единственный минус — изображения могут быть не в том качестве и разрешении, что и аналоги.

Вы также можете растянуть картинку в Excel на максимально возможный размер, который ограничен параметрами разрешения экрана. Лучше всего, если при этом у вас в настройках рабочего стола установлено максимальной значение данного параметра.

После этого вы можете вернуть разрешение и скопированную картинку использовать в нужных вам целях. Также неплохой вариант – поиск картинки в интернете, но на это может уйти много времени, а изображение может быть уникальным. В дальнейшем делайте копии картинок, которые задействуете при редактировании файлов.

Полезный совет

Пользуйтесь преобразованием файла в веб-страницу, это самый быстрый вариант.

Источники:

  • картинки в эксель

Войти на сайт

или

Забыли пароль?
Еще не зарегистрированы?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Студворк — интернет-сервис помощи студентам

Здравствуйте!

Добавляю вывод картинок в печатную форму некоторых документов (ЗаказПокупателя, ЗаказПоставщику)

Все добавил — в табличном доке выводится — отлично!
Но при выгрузке в Excel или Word изображения не отображаются.

Вывод картинки в табличный документ осуществляется через ОбластьЯчеекТабличногоДокумента.ПараметрКартинки (у меня называется «Картинка»)

1C
1
2
3
4
5
6
7
8
9
10
11
//{{ [+](фрагмент добавлен), #Лелеко 28.05.2015 11:32:13
Если ЕстьРеквизитОбъекта(ОбластьМакета.Параметры, "Картинка") Тогда
    ЗапасКартинка = ПолучитьКартинку(ВыборкаСтрокЗапасы.ФайлКартинки);
    Если ЗапасКартинка <> Неопределено Тогда
        ДанныеКартинки = Новый Структура("Картинка", ЗапасКартинка);
    Иначе
        ДанныеКартинки = Новый Структура("Картинка", Неопределено);
    КонецЕсли;
    ОбластьМакета.Параметры.Заполнить(ДанныеКартинки);
КонецЕсли; 
//}} #Лелеко 28.05.2015 11:32:13

Выводится на печать посредством БСП УправлениеПечатью

Содержание

  • Извлечение картинок
    • Способ 1: копирование
    • Способ 2: массовое извлечение изображений
  • Вопросы и ответы

Картинка в Microsoft Excel

При работе с файлами Excel бывают не только случаи, когда нужно вставить изображение в документ, но и обратные ситуации, когда рисунок, наоборот, нужно извлечь из книги. Для достижения данной цели существует два способа. Каждый из них является наиболее актуальным при тех или иных обстоятельствах. Давайте подробно рассмотрим каждый из них, чтобы вы могли определить, какой из вариантов лучше применить в конкретном случае.

Читайте также: Как извлечь изображение из файла Microsoft Word

Извлечение картинок

Главным критерием выбора конкретного способа является тот факт, хотите ли вы вытащить одиночное изображение или произвести массовое извлечение. В первом случае можно удовлетвориться банальным копированием, а вот во втором придется применить процедуру конвертации, чтобы не терять время на извлечении каждого рисунка по отдельности.

Способ 1: копирование

Но, прежде всего, давайте все-таки рассмотрим, как произвести извлечение изображения из файла методом копирования.

  1. Для того чтобы скопировать изображение, прежде всего его нужно выделить. Для этого кликаем по нему один раз левой кнопкой мыши. Затем выполняем щелчок правой кнопкой мыши по выделению, тем самым вызывая контекстное меню. В появившемся списке выбираем пункт «Копировать».
    Копирование изображения через контекстное меню в Microsoft Excel

    Можно также после выделения изображения перейти во вкладку «Главная». Там на ленте в блоке инструментов «Буфер обмена» щелкаем по пиктограмме «Копировать».

    Копирование изображения с помощью кнопки на ленте в Microsoft Excel

    Существует и третий вариант, при котором после выделения нужно нажать на комбинацию клавиш Ctrl+C.

  2. После этого запускаем любой редактор изображений. Можно, например, воспользоваться стандартной программой Paint, которая встроена в Windows. Производим вставку в эту программу любым из тех способов, которые в ней доступен. В большинстве вариантов можно воспользоваться универсальным способом и набрать комбинацию клавиш Ctrl+V. В Paint, кроме этого, можно нажать на кнопку «Вставить», расположенную на ленте в блоке инструментов «Буфер обмена».
  3. Вставка изображения в программе Paint

  4. После этого картинка будет вставлена в редактор изображений и её можно сохранить в виде файла тем способом, который доступен в выбранной программе.

Сохранение изображения в программе Paint

Преимущество данного способа заключается в том, что вы сами можете выбрать формат файла, в котором сохранить картинку, из поддерживаемых вариантов выбранного редактора изображений.

Способ 2: массовое извлечение изображений

Но, конечно, если изображений больше десятка, а то и несколько сотен, и их всех нужно извлечь, то вышеуказанный способ представляется непрактичным. Для этих целей существует возможность применить конвертацию документа Excel в формат HTML. При этом все изображения автоматически будут сохранены в отдельной папке на жестком диске компьютера.

  1. Открываем документ Excel, содержащий изображения. Переходим во вкладку «Файл».
  2. Переход во вкладку Файл в Microsoft Excel

  3. В открывшемся окне щелкаем по пункту «Сохранить как», который находится в левой его части.
  4. Переход к соранению документа Microsoft Excel

  5. После этого действия запускается окно сохранения документа. Нам следует перейти в ту директорию на жестком диске, в которой желаем, чтобы разместилась папка с картинками. Поле «Имя файла» можно оставить без изменения, так как для наших целей это не важно. А вот в поле «Тип файла» следует выбрать значение «Веб-страница (*.htm; *.html)». После того, как вышеуказанные настройки произведены, щелкаем по кнопке «Сохранить».
  6. Сохранение файла в Microsoft Excel

    Lumpics.ru

  7. Возможно, при этом появится диалоговое окно, в котором будет сообщаться, что файл может иметь возможности, несовместимые с форматом «Веб-страница», и при конвертации они будут утеряны. Нам следует согласиться, нажав на кнопку «OK», так как единственной целью является извлечение картинок.
  8. Диалоговое окно в Microsoft Excel

  9. После этого открываем Проводник Windows или любой другой файловый менеджер и переходим в директорию, в которой сохранили документ. В этой директории должна образоваться папка, которая содержит наименование документа. Именно в этой папке и содержатся изображения. Переходим в неё.
  10. Папка с изображениями в Проводнике Windows

  11. Как видим, картинки, которые были в документе Excel, представлены в этой папке в виде отдельных файлов. Теперь с ними можно выполнять те же манипуляции, что и с обычными изображениями.

Изображения в Проводнике Windows

Вытащить картинки из файла Excel не так уж сложно, как могло показаться на первый взгляд. Это можно сделать либо путем простого копирования изображения, либо путем сохранения документа, как веб-страницы, встроенными инструментами Эксель.

Еще статьи по данной теме:

Помогла ли Вам статья?

Автор anna_m, 13 дек 2022, 15:42

0 Пользователей и 1 гость просматривают эту тему.

добрый день!

программно добавляю в ячейку табличного документа изображение (jpeg)

при сохранении в эксель через

ТабДокумент.Записать(ПолныйПутьКФайлам , ТипФайлаТабличногоДокумента.XLS);
картинка не сохраняется

в pdf и mxl сохраняет

Что делать?


anna_m, попробуйте этот тип использовать

ТипФайлаТабличногоДокумента.XLSX

если помогло нажмите: Спасибо!


LexaK, пробовала, не помогло


anna_m, а какая версия офиса установлена?
и записываете на клиенте, на сервере? (может зависеть от машины)

пробовал у себя на клиенте записывать в Ексель
в 97-м и 2000-м картинка сохраняется
в 95-м — нет.

если помогло нажмите: Спасибо!


LexaK, 2016

Цитироватьи записываете на клиенте, на сервере? (может зависеть от машины)

у меня обычные формы


Понравилась статья? Поделить с друзьями:
  • Не сохраняются изменения в файле excel
  • Не сохраняются изменения в документе word
  • Не сохраняются документы word excel
  • Не сохраняются данные в word
  • Не сохраняется документ word 2016