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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2016, 14:00   #1
htcreed
Новичок
Джуниор
 
Регистрация: 19.10.2016
Сообщений: 2
По умолчанию Макрос вставки изображения в примечание

Добрый день, прошу помощи у знатоков VBA.
Помогите поправить макрос, третий день не могу понять, как исправить ошибку.. Заранее благодарен!

Код:
Sub MyComBars()
    Application.CommandBars("cell").Reset
    With Application.CommandBars("cell").Controls.Add(Type:=1, Before:=5)
        .OnAction = "AddImage"
        .Caption = "Вставить изображение"
    End With
End Sub
 
Sub AddImage()
    Dim ImaFile$
 
    If Selection.Cells.Count > 1 Then Exit Sub
    With Application.FileDialog(msoFileDialogFilePicker)
        .Show
        If .SelectedItems.Count = 0 Then Exit Sub
        ImaFile = .SelectedItems(1)
    End With
    On Error GoTo nexterr
    ActiveCell.ClearComments
    ActiveCell.AddComment
        With .Shape
            .Fill.UserPicture (ImaFile)
            .Height = 340: .Width = 700
        End With
    Exit Sub
nexterr:
    MsgBox "Можно выбирать только изображения!", vbCritical, "Ошибка"
    ActiveCell.ClearComments
End Sub
htcreed вне форума Ответить с цитированием
Старый 24.10.2016, 20:21   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

http://excelvba.ru/code/PictureInCellComment

Код:
Sub AddImage()
    Dim ImaFile$
    With Application.FileDialog(msoFileDialogFilePicker)
        .Show
        If .SelectedItems.Count = 0 Then Exit Sub
        ImaFile = .SelectedItems(1)
    End With
    
    On Error GoTo nexterr
    ActiveCell.ClearComments
    With ActiveCell.AddComment.Shape
        .Fill.UserPicture (ImaFile)
        .Height = 340: .Width = 700
    End With
    Exit Sub
nexterr:
    MsgBox "Можно выбирать только изображения!", vbCritical, "Ошибка"
    ActiveCell.ClearComments
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 25.10.2016, 11:54   #3
htcreed
Новичок
Джуниор
 
Регистрация: 19.10.2016
Сообщений: 2
По умолчанию

Спасибо огромное. У меня еще один небольшой интерес, возможно ли что-то подобное собрать?

Код:
Function GETPHOTO(rCell As Range)
    On Error Resume Next
    GETPHOTO = rCell.Comment.Picture
    .Comment.Visible = True
    .Comment.Shape.CopyPicture xlScreen, xlBitmap
    .PasteSpecial
    .Comment.Visible = False
End Function
htcreed вне форума Ответить с цитированием
Старый 25.10.2016, 13:12   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Да, возможно.
Всё уже собрано до вас
В интернете можно найти готовый макрос под любую задачу, - и только чуточку допилить.
EducatedFool вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление изображения в примечание ячейки из буфера обмена cent Microsoft Office Excel 18 13.11.2023 17:14
Как написать макрос, чтобы Примечание всплывало в определенном месте Оксана33 Microsoft Office Excel 8 07.06.2015 17:06
Макрос Примечание в ячейку не стандарт. Viento Microsoft Office Excel 5 10.10.2014 15:13
Макрос вставки текущей даты и времени в примечание. Severny Microsoft Office Excel 3 20.12.2010 14:09
Макрос вставки файлов в листы-Необходимо изменить ниже приведённый макрос as-is Microsoft Office Excel 4 25.02.2010 07:51