Друзья, прошу вашей помощи! На прежней работе работал с файлом по вставке фото в excel 2003, не было печали. Теперь работаю с excel 2010 и столкнулся со следующей проблемой: Фото в файл вставляются, но при копировании их в другой файл или при сохранении текущего, картинки в файле не сохраняются. Т.е. при отправке такого файла кому-либо, адресат картинки не увидит. Помогите пожалуйста разобраться, что не так. Заранее спасибо, файл прилагаю!
Друзья, прошу вашей помощи! На прежней работе работал с файлом по вставке фото в excel 2003, не было печали. Теперь работаю с excel 2010 и столкнулся со следующей проблемой: Фото в файл вставляются, но при копировании их в другой файл или при сохранении текущего, картинки в файле не сохраняются. Т.е. при отправке такого файла кому-либо, адресат картинки не увидит. Помогите пожалуйста разобраться, что не так. Заранее спасибо, файл прилагаю!ysia
Sub ВставитьКартинку(ByRef cell As Range, ByVal Pic As String) On Error Resume Next Dim ph As Shape Set ph = cell.Parent.Shapes.AddPicture(Filename:=Pic, LinkToFile:=False, SaveWithDocument:=True, _ Left:=cell.Left + 2, Top:=cell.Top + 2, Width:=-1, Height:=-1) k = ph.Width / ph.Height ph.Width = cell.Width - 4: ph.Height = ph.Width / k cell.EntireRow.RowHeight = ph.Height + 4 End Sub
[/vba] P.S. Не тестировал, поэтому возможно есть какая-нибудь опечатка.
Замените Вашу процедуру на эту: [vba]
Код
Sub ВставитьКартинку(ByRef cell As Range, ByVal Pic As String) On Error Resume Next Dim ph As Shape Set ph = cell.Parent.Shapes.AddPicture(Filename:=Pic, LinkToFile:=False, SaveWithDocument:=True, _ Left:=cell.Left + 2, Top:=cell.Top + 2, Width:=-1, Height:=-1) k = ph.Width / ph.Height ph.Width = cell.Width - 4: ph.Height = ph.Width / k cell.EntireRow.RowHeight = ph.Height + 4 End Sub
[/vba] P.S. Не тестировал, поэтому возможно есть какая-нибудь опечатка.Karataev