Vba 在具有特定宽度和高度的特定单元格中插入对象

Vba 在具有特定宽度和高度的特定单元格中插入对象,vba,excel,Vba,Excel,我想在调用此函数时插入文件 我希望输入文件以特定的宽度、高度显示,并具有文件的图标 我还希望输入在一个特定的单元格中 有没有更好的方法来定义我想要输入的单元格?我希望输入位于单元格“I5”中,但我不确定如何使用OLEObjects.Add中的顶部和左侧参数执行此操作 Sub FileToLink() Dim strFileName As String Dim strShortName As String Dim f As OLEObject strFileName

我想在调用此函数时插入文件

我希望输入文件以特定的宽度、高度显示,并具有文件的图标

我还希望输入在一个特定的单元格中

有没有更好的方法来定义我想要输入的单元格?我希望输入位于单元格“I5”中,但我不确定如何使用OLEObjects.Add中的顶部和左侧参数执行此操作

Sub FileToLink()
    Dim strFileName As String
    Dim strShortName As String
    Dim f As OLEObject
    strFileName = Application.GetOpenFileName("All Documents (*.*), *.*")

    If strFileName = "False" Then
        Exit Sub ' user cancelled
    End If

    strShortName = InputBox("What do you want to call this link?", "Short Text", strFileName)

    Set f = ActiveSheet.OLEObjects.Add( _
                                        Filename:=strFileName, _
                                        Link:=False, _
                                        DisplayIcon:=False, _
                                        IconFileName:=strFileName, _
                                        IconIndex:=0, _
                                        IconLabel:=strShortName, _
                                        Top:=Range("I5").Top, _
                                        Left:=Range("I5").Left, _
                                        Width:=10, _
                                        Height:=10)

End Sub

多亏了一个答案,我改变了顶部和左侧,以便在正确的单元格中进行输入,但是我仍然不确定如何更改宽度和高度。我不断得到一个比它高的输入框。

Top:=Range(“I5”)。Top
EtcNice!谢谢你@TimWilliams!不过,我仍然停留在宽度和高度上。不管我输入什么,它只会给我一个比它的高度更宽的盒子。
Top:=Range(“I5”)。Top
EtcNice!谢谢你@TimWilliams!不过,我仍然停留在宽度和高度上。不管我输入什么,它只会给我一个比它的高度还要宽的盒子。