Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2012, 17:02   #1
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
Вопрос Работа с рисунками средствами вба

Доброго времени суток, Ув. форумчане.
Помогите пожалуйста с решением небольшой проблемы:
1. Подскажите пожалуйста код, который бы при нажатии на любую картинку в Книге1, в листе test открывал папку pic (папку с рисунками) для изменения картинки на которую нажали.
2. есть ли возможность при изменении картинки сохранить ее оригинальный размер и местоположение? Если есть подскажите пожалуйста каким образом?
Заранее огромнейшее СПАСИБО!!!
Вложения
Тип файла: rar Test.rar (105.2 Кб, 12 просмотров)
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 12.01.2012, 09:48   #2
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

никаких предложений нет?
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 12.01.2012, 10:51   #3
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

Нашел вот такой код:
Код:
Function GetFileName(Optional ByVal Title As String = "Выберите файл для обработки", _
                     Optional ByVal InitialPath, _
                     Optional ByVal MyFilter As String = "Фото (*.jpg*),") As String
    ' функция выводит диалоговое окно выбора папки с заголовком Title,
   ' начиная обзор диска с папки InitialPath
   ' возвращает полный путь к выбранной папке, или пустую строку в случае отказа от выбора
   If Not IsMissing(InitialPath) Then
        On Error Resume Next: ChDrive Left(InitialPath, 1)
        ChDir InitialPath    ' выбираем стартовую папку
   End If
    res = Application.GetOpenFilename(MyFilter, , Title, "Открыть")  ' вывод диалогового окна
   GetFileName = IIf(VarType(res) = vbBoolean, "", res)    ' пустая строка при отказе от выбора
End Function

Sub ПримерИспользования_GetFileName()

    ИмяФайла = GetFileName("Заголовок окна", ThisWorkbook.Path)   ' запрашиваем имя файла
   ' ===================== другие варианты вызова функции =====================
   ' текстовые файлы, стартовая папка не указана
   '       ИмяФайла = GetFileName("Выберите текстовый файл", , "Текстовые файлы (*.txt),")
   ' файлы любого типа из папки "C:\Windows"
   '       ИмяФайла = GetFileName(, "C:\Windows", "")
   ' ==========================================================================

    If ИмяФайла = "" Then Exit Sub    ' выход, если пользователь отказался от выбора файла
    MsgBox "Выбран файл: " & ИмяФайла, vbInformation
End Sub
С данного сайта: http://excelvba.ru/code/GetFileOrFolderPath
Как его применить к активному рисунку (чтобы при выборе новой картинки с диалогового окна, изменялась активная картинка?)
Спасибо
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 12.01.2012, 15:49   #4
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

1. подскажите пожалуйста кусок кода, для вот такой вот вставки:
прикрепил 333.jpg
Как это кодом сделать?
2. если я изменяю картинку как на скрине, а картинка другого размера, можно чтобы картинку которую мы выбираем, "вписать" по размерам и масштабам в уже существующую картинку (ту картинку которую мы изменяем).
Изображения
Тип файла: jpg 333.jpg (129.1 Кб, 149 просмотров)
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 13.01.2012, 15:10   #5
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

Ну может кто знает как программно изменить =ВНЕДРИТЬ("Forms.Image.1";"") (то есть, изменить картинку (Picture) ? Ну очень нужно!
Спасибо!
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 13.01.2012, 15:27   #6
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

Или подскажите как переделать вставку картинки:
ActiveSheet.Pictures.Insert ("картинка.jpg")
На изменение???????
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 13.01.2012, 15:34   #7
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

Уже почти нашел все что нужно!
Dim objexcel As Excel.Application
Set objexcel = Excel.Application
Set objexcel.Sheets(1).Image1.Picture = LoadPicture(GetFileName)
единственный вопрос остался, как определить имя выбранной картинки Image1?
То есть, как программно определить при нажатии на картинку ее имя?
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 13.01.2012, 18:16   #8
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

Нашел решение, тему можно закрывать.
Спасибо за внимание
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с рисунками в делфи Igoreha010 Помощь студентам 10 28.11.2010 17:39
Работа с меню и рисунками Mag992 Помощь студентам 6 17.02.2010 08:57
Спасите кто-нибудь с рисунками на С++ Builder Anuta_Kotova C++ Builder 4 24.06.2009 16:08
Работа с рисунками в Excel. Нужна помощь BenZin Microsoft Office Excel 1 17.09.2008 16:07
Работа с изображениями и рисунками dima00 Мультимедиа в Delphi 2 12.04.2007 15:11