' Insert a picture at the selection.
Sub Button1_Click()
Dim filters As String
Dim filename As Variant
' Define the file selection filters.
filters = "Image Files,*.bmp;*.tif;*.jpg;*.png," & _
"PNG (*.png),*.png,TIFF (*.tif),*.tif," & _
"JPG (*.jpg),*.jpg,All Files (*.*),*.*"
' Get the file name.
filename = Application.GetOpenFilename( _
filters, 0, "Select Image", "Take It", False)
If filename = False Then Exit Sub
' Insert the picture.
InsertPicture CStr(filename), Application.Selection
End Sub
' Insert a picture into a cell.
Sub InsertPicture(filename As String, location As Range)
Dim pic As Picture
Set pic = ActiveSheet.Pictures.Insert(filename)
pic.Top = location.Top
pic.Left = location.Left
End Sub
'Вставьте изображение при выборе.
Sub Button1_Click ()
Dim фильтры As String
Dim filename Как вариант
'Определите фильтры выбора файлов.
filters = "Файлы изображений, * .bmp; * .tif; *. jpg; *. png," & _
«PNG (* .png), * .png, TIFF (* .tif), *. Tif," & _
«JPG (* .jpg), *. Jpg, Все файлы (*. *), *. *"
'Получить имя файла.
filename = Application.GetOpenFilename (_
фильтры, 0, «Выбрать изображение», «Возьми его», «Ложь»)
Если filename = False, то Exit Sub
'Вставьте изображение.
InsertPicture CStr (имя файла), Application.Selection
End Sub
'Вставьте изображение в ячейку.
Sub InsertPicture (имя файла As String, местоположение As Range)
Dim pic As Picture
Установить pic = ActiveSheet.Pictures.Insert (имя файла)
pic.Top = location.Top
pic.Left = location.Left
End Sub pre>...
Метод InsertPicture вызывает метод Insert для активного листа Picture. Затем он устанавливает свойства изображения Top и Left в Top и Left местоположения, переданного в подпрограмму. Это положение изображения в желаемой ячейке.
При нажатии кнопки «Удалить изображение» выполняется следующий код.
' Remove pictures from the selected cell.
Sub Button2_Click()
If (TypeOf Application.Selection Is Range) Then
RemovePictures Application.Selection
ElseIf (TypeOf Application.Selection Is Picture) Then
Application.Selection.Delete
Else
MsgBox "I don't know how to remove pictures form a " & _
TypeName(Application.Selection)
End If
End Sub
' Remove pictures from a cell.
Sub RemovePictures(location As Range)
Dim i As Integer
Dim pic As Picture
For i = 1 To ActiveSheet.Pictures.Count
Set pic = ActiveSheet.Pictures(i)
If pic.Top = location.Top And _
pic.Left = location.Left _
Then
pic.Delete
End If
Next i
End Sub
Обработчик событий кнопки определяет, является ли текущий выбор диапазоном, изображением или чем-то еще. Если выбор является диапазоном, код вызывает метод RemovePictures. Этот метод пропускает все изображения на активном листе. Если он находит изображение с Top и Left в активной ячейке, код удаляет его.
Если выделение представляет собой изображение, обработчик события Button2_Click удаляет его.