具有宽高比的VB.NET Shapes.AddPicture

时间:2018-04-16 12:57:45

标签: excel vb.net

我有一个用vB.NET编写的程序。我有一个问题,我正在“导出”一个excel文件与数据库中的一些数据。其中一个数据有一个文件链接。我想把这个图像(在链接中)放到excel上,这一切都很好,直到我有。例如,宽图像或高图像(横向或纵向)。我正在使用此代码将图像发布到excel文件:

objWorkSheet.Shapes.AddPicture(linktofile, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue, Left:=10, Top:=419, Height:=285, Width:=510)

所以问题是如何将AspectRatio := True放到代码中......

1 个答案:

答案 0 :(得分:2)

如果使用原始图像的高度和宽度都使用“ -1”导入图像,则可以选择它,并设置高度或宽度并保持宽高比。

例如:

    With ActiveSheet.Shapes.AddPicture(Filename:=Filename, linktofile:=msoFalse, savewithdocument:=msoCTrue, Left:=0, Top:=0, Width:=-1, Height:=-1).Select
    End With

    Set theShape = Selection.ShapeRange.Item(1)

    With theShape
        .LockAspectRatio = msoTrue 'can be set to msoFalse if you don't need to lock aspect ratio
        '.Width = 50
        .Height = 50
    End With

我希望这会有所帮助!