8.х Поиск изображения/картинки на листе Excel

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем ANDRE, 24 апр 2008.

  1. TopicStarter Overlay
    ANDRE
    Offline

    ANDRE Опытный в 1С

    Регистрация:
    12 мар 2008
    Сообщения:
    456
    Симпатии:
    0
    Баллы:
    26
    Подскажите кто знает.
    Как найти изображения/картинки на листе Excel.
    Я пока не представляю как это сделать и главное с помощью чего!
    Можете дать ссылку на литературку.
    ДопВопрос: А потом вставить эту картинку в ХранилищеЗначений в 1С!
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    1. Читаем справку по VBA и все получиться без проблем
    2. Смотрим реализацию в типовой
    3. Один вопрос - одна тема.
  3. TopicStarter Overlay
    ANDRE
    Offline

    ANDRE Опытный в 1С

    Регистрация:
    12 мар 2008
    Сообщения:
    456
    Симпатии:
    0
    Баллы:
    26
    Спасибо за совет, но я в английском то не очень силен. Поэтому прошу что бы кто знает помогли по возможности.

    в какой типовой?
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    1. Писать весь код за тебя никто не будет, если не начнешь хоть что-то делать сам - вряд ли кто-то помогать будет, ибо писать километры кода нет никакого интереса. Направление поиска я тебе дал, если что-то не понятно - то помогу, но писать с нуля - увольте!
    ЗЫ. В сети достаточно литературы на русском по работе с VBA

    2. В любой типовой есть справочник ХранилищеДополнительноИнформации
  5. TopicStarter Overlay
    ANDRE
    Offline

    ANDRE Опытный в 1С

    Регистрация:
    12 мар 2008
    Сообщения:
    456
    Симпатии:
    0
    Баллы:
    26
    Я и не хочу чтобы за меня кто-то писал код.
    У меня не получается с катринками дело только и всего.
    Там наверное точно какая-нибудь функция выгрузки этой картинки (одна строчка,точно). :unsure:
    С ХранилищеДополнительноИнформации я уже разобрался давно.
  6. Prospero
    Offline

    Prospero Опытный в 1С

    Регистрация:
    13 сен 2006
    Сообщения:
    111
    Симпатии:
    0
    Баллы:
    26
    Насколько я понял, есть файл xls с картинками и нужно их из него вытащить...
    Перебор картинок можно организовать через
    Код:
    For Each Shapes In ActiveSheet.Shapes
    Shapes.Select
    Shapes.Copy
    Next
    
    Что же касается сохранения картинки в файл - то не нашел я пока в VBA такой возможности :unsure:
    Не знаю, возможно это вообще или нет - все таки VBA - это не VB :)
    Как один из вариантов:
    1. Открываем нужный файл xls средствами 1С (через Excel = Новый COMОбъект("Excel.Application");)
    2. Переходим на нужный лист
    3. Перебираем картинки (выделяем и копируем в буфер обмена)
    4. Читаем из буфера обмена чем-нибудь (строка вызова внешнего приложения сразу после Shapes.Copy) и сохраняем в файл
    5. Читаем из файла и пишем в ХранилищеЗначений.

    Конечно, несколько извращенно, но пока не придумал ничего больше :)

    Если есть способы проще - выкладывайте - давайте поможем человеку B)
  7. TopicStarter Overlay
    ANDRE
    Offline

    ANDRE Опытный в 1С

    Регистрация:
    12 мар 2008
    Сообщения:
    456
    Симпатии:
    0
    Баллы:
    26
    Здорово! :unsure:
    Что значит читаем из буфера обмена?
    А сохранять в какой именно файл лучше?
  8. TopicStarter Overlay
    ANDRE
    Offline

    ANDRE Опытный в 1С

    Регистрация:
    12 мар 2008
    Сообщения:
    456
    Симпатии:
    0
    Баллы:
    26
    вот у меня получился код:
    Для каждого sh из ExcelЛист.Shapes цикл
    Если sh.Name = "Picture 4" Тогда
    ExcelЛист.Shapes("Picture 4").Select();
    ExcelЛист.Shapes("Picture 4").Copy();
    ОбластьЗаголовок.Рисунки.Карта.Картинка = ExcelЛист.Shapes("Picture 4").Paste();
    КонецЕсли;
    КонецЦикла;

    Для каждого объекта на листе, если совпадает по имени, то выделяю и копирую его в буфер. Потом пытаюсь вставить его в элемент картинки табличного документа.

    Но выдает ошибку, разобраться не могу:
    "Метод объекта не обнаружен (Paste)"

    Помогите чем можите! :unsure:
  9. Prospero
    Offline

    Prospero Опытный в 1С

    Регистрация:
    13 сен 2006
    Сообщения:
    111
    Симпатии:
    0
    Баллы:
    26
    А просто ОбластьЗаголовок.Рисунки.Карта.Картинка = ExcelЛист.Paste(); ?
  10. TopicStarter Overlay
    ANDRE
    Offline

    ANDRE Опытный в 1С

    Регистрация:
    12 мар 2008
    Сообщения:
    456
    Симпатии:
    0
    Баллы:
    26
    Пробовал разные вариации. В этом случае:
    "Ошибка при установке значения атрибута контекста (Картинка): Несоответствие типов"
  11. UpgradeSD
    Offline

    UpgradeSD

    Регистрация:
    26 авг 2008
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    А кто то знает как до конца етот код дописать штобы работал перенос картинок?
Похожие темы
  1. alp
    Ответов:
    1
    Просмотров:
    639
  2. Snark13
    Ответов:
    2
    Просмотров:
    1.456
Загрузка...

Поделиться этой страницей