Есть ли способ вращать OLEобъекты? - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть макрос, который добавляет страницу к текущему документу из предварительно отформатированного шаблона. На этой странице вставляются изображения, основанные на выборе пользователя, которые имеют стандартные изображения, поддерживаемые 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 "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...