在Excel中replaceembedded的对象

我在工作表中创build了一个命令button,当用户点击那个button时,会出现一个带有2个命令button的窗体。 第一个显示embedded文件的button,第二个replace它。 这是代码。

Private Sub firstbutton_Click() Sheet3.OLEObjects("Source").Activate Unload Me End Sub Private Sub ReplaceBtn_Click() Dim vFile As Variant vFile = Application.GetOpenFilename("All Files,*.*", Title:="Find file to insert") If LCase(vFile) = "false" Then Unload Me Exit Sub End If Sheet3.OLEObjects.Add Filename:=vFile, Link:=False, DisplayAsIcon:=True,IconFileName:=vFile Unload Me End Sub 

问题是,如何用新文件replaceembedded文件并将其重命名为“Source”,因为第一个button将获得名称“Source”。

我不确定是否可以replaceembedded对象的内容(虽然我可能是错的),所以在添加新对象并重命名它之前,您可能已经删除了现有对象。 如果它是一个链接对象,则可以更改链接指向的内容。

 Sheet3.OLEObjects.Item("Source").Delete Dim newObject As OLEObject Set newObject = Sheet3.OLEObjects.Add(Filename:=vFile, Link:=False, DisplayAsIcon:=True, IconFileName:=vFile) newObject.Name = "Source"