У меня есть макрос, который добавляет страницу к текущему документу из предварительно отформатированного шаблона. На этой странице вставляются изображения, основанные на выборе пользователя, которые имеют стандартные изображения, поддерживаемые Excel (например, .jpg, .png, .bmp), а также файлы PDF (снятые с программы AutoCAD, которую можно сохранить только в виде файла PDF / DWG / DXF). Я имею в виду, что проблема не в том, что не все объекты OLE могут быть повернуты, и опция shaperange, вероятно, не позволяетКак говорится, возможно ли сделать это в VBA?
Я пытался использовать опцию shaperange OLEobject, а также вставлять PDF как изображение (которое не поддерживается MS-Office, так какНасколько я знаю.) Я также пытался выбрать объект OLE в качестве фигуры, но безрезультатно.
Set rng = crrntWorkbook.Sheets(1).Range("B" & tempRow)
'Allows for the insertion of PDF files into the workbook
Set oleobj = ActiveSheet.OLEObjects.Add(Filename:=txtFileName, link:=False, DisplayAsIcon:=False)
With oleobj
'Inserts the picture into the correct cell
oleobj.Top = rng.Top
oleobj.Left = rng.Left
'If the image is wider than it's height, image will be scaled down by it's width, otherwise it's height
If oleobj.Width > oleobj.Height Then
oleobj.IncrementRotation = 90
oleobj.Width = 545
oleobj.Left = (570 - oleobj.Width) / 2
oleobj.Top = oleobj.Top + 2
'Centers the image
Else
oleobj.Height = 625
oleobj.Left = (550 - oleobj.Width) / 2
oleobj.Top = oleobj.Top + 2
End If
End With
Ожидаемый результат заключается в том, что изображение будет поворачиваться при вставке, но я получу либо "ошибка времени выполнения '438' Объект не поддерживает это свойство или метод "или" ошибка времени выполнения -2147024809 форма заблокирована иневозможно повернуть, если я использую подход с помощью shaperange "