首页 > 解决方案 > 将对象插入 Excel 工作表

问题描述

我想将 Excel 文档插入 Excel 工作表。我可以通过以下步骤手动执行此操作;

插入/文本/对象/从文件创建(勾选显示为图标)/浏览。然后我选择文件并插入文档。

我想通过宏来做到这一点。(录音机不会让你录音。)

我的这段代码基本上是插入/文本/对象

Sub ShowInsertObj()
    Application.Dialogs(xlDialogInsertObject).Show
End Sub

我想添加代码,以便自动选择一个目录(比如说 C:\temp)并显示为图标,而不是应用上述步骤。

标签: excelvba

解决方案


不确定您想要的是否可能,但您可能想使用GetOpenFilenameand.OLEObjects而不是xlDialogInsertObject.

Sub ShowInsertObj()

Dim Fl As Variant
Dim Filename As String

'Set your drive
ChDrive "C:"
ChDir "C:\temp"

'Grab your file filtered for Excel files
Fl = Application.GetOpenFilename(FileFilter:="Excel Workbooks (*.xls; *.xlsm),*.xls;*.xslm")
If Fl = False Then Exit Sub

' To display the filename only and not the path 

Filename = Mid$(F1, InStrRev(F1, "\") + 1, Len(F1))

'Add as object to the worksheet
Sheet1.OLEObjects.Add Filename:=Filename, Link:=True, DisplayAsIcon:=True, IconFileName:="EXCEL.EXE", IconIndex:=0, IconLabel:=Filename

End Sub

注意:我使用FileFilter了,因为你说你想插入一个 Excel 文件


推荐阅读