如何使用VBA打开文件浏览器并编辑文件?

如何使用VBA打开文件浏览器并编辑文件?,vba,file,embed,ms-word,Vba,File,Embed,Ms Word,我有一个Word文档,我希望用户能够将其他文件嵌入其中 其他文件将是各种类型的,来自用户自己的驱动器,我无法预测 他们不必手动执行此操作,是否有一种方法可以通过编码命令按钮来打开文件浏览器,允许用户选择文件,然后将这些文件嵌入Word文档中,以便将其作为一个完整的文档发送?有关文件浏览器,请参阅 要嵌入文件,我建议将操作记录为VBA宏,然后根据需要调整宏(即使用通过FileDialog选择的文件)。这应该是一个很好的起点: Sub SelectFilesToEmbed() Dim dlg

我有一个Word文档,我希望用户能够将其他文件嵌入其中

其他文件将是各种类型的,来自用户自己的驱动器,我无法预测


他们不必手动执行此操作,是否有一种方法可以通过编码命令按钮来打开文件浏览器,允许用户选择文件,然后将这些文件嵌入Word文档中,以便将其作为一个完整的文档发送?

有关文件浏览器,请参阅


要嵌入文件,我建议将操作记录为VBA宏,然后根据需要调整宏(即使用通过FileDialog选择的文件)。

这应该是一个很好的起点:

Sub SelectFilesToEmbed()
    Dim dlgOpen As FileDialog, _
        objFile As FileDialogSelectedItems, _
        wdDoc As Word.Document
    Set dlgOpen = Application.FileDialog(FileDialogType:=msoFileDialogFilePicker)

    With dlgOpen
        .Title = "Select the files to be embedded"
       .AllowMultiSelect = True
       .Show
        If .Show = -1 Then
            For Each objFile In .SelectedItems
                wdDoc.Range.InlineShapes.AddOLEObject _
                                    ClassType:="Excel.Sheet.12", _
                                    Filename:=objFile, _
                                    LinkToFile:=False, _
                                    DisplayAsIcon:=False
            Next objFile
        Else
        End If
    End With

End Sub
您仍然需要解决以下问题:

  • 多个文件类型(此处代码用于excel工作表)
  • 如果未放置代码,请设置word文档
  • 设置要嵌入文件的位置(书签或其他)

  • 我获取嵌入部分的链接:

    感谢大家的阅读/帮助。不幸的是,这个项目现在已经被废弃了,因此这不再是当前的要求:(只是不想让人们花时间在一些可能无法实施的事情上。

    谢谢你,正如你所说,我仍然需要解决其他3个部分。对于“3”,2将非常简单在word VBA中用谷歌搜索书签,你会发现很多信息。对于“1”,最好的解决方案是使用word中的宏录制器来获取文件类型(启动宏录制器,然后转到“插入”选项卡和“对象”,然后为每种类型创建一个新对象,并清理代码以获得列表)。您可以编辑您的问题以反映您的发现,我们将尽力帮助您实现最终目标!;)谢谢您的帮助@R3uK