使用VBA将文件嵌入Word文档

使用VBA将文件嵌入Word文档,vba,ms-word,Vba,Ms Word,我正在尝试使用Word 2010从Access 2010执行此操作。我有一个WordDoc对象,无法找到嵌入文件的方法 我尝试使用书签从零开始: bmFile.Range.InsertFile "C:\Users\Me\Desktop\TestFile.xlsx" 这是一个关于文件被破坏的错误 我尝试使用WordDoc.InlineShapes(1)编辑一个现有的嵌入文件,但没有可更改或相关的属性 任何想法都将不胜感激 谢谢 (至少适用于Excel文件) (至少适用于Excel文件) (至少适

我正在尝试使用Word 2010从Access 2010执行此操作。我有一个WordDoc对象,无法找到嵌入文件的方法

我尝试使用书签从零开始:

bmFile.Range.InsertFile "C:\Users\Me\Desktop\TestFile.xlsx"
这是一个关于文件被破坏的错误

我尝试使用
WordDoc.InlineShapes(1)
编辑一个现有的嵌入文件,但没有可更改或相关的属性

任何想法都将不胜感激

谢谢

(至少适用于Excel文件)

(至少适用于Excel文件)

(至少适用于Excel文件)

(至少适用于Excel文件)

从现有文件(根据您的示例),您应该能够执行此操作

bmFile.Range.InlineShapes.AddOLEObject ClassType:="Excel.Sheet.12", _
  FileName:="C:\Users\Me\Desktop\TestFile.xlsx", _
  LinkToFile:=False, _
  DisplayAsIcon:=False
事实上,不使用文件就插入对象更糟糕。您可以通过将FileName参数设置为“”,但随后OLE服务器将启动并显示其UI(从文件嵌入时不会发生这种情况)

至于修改嵌入对象中的任何内容,这并不是特别简单,因为对象的UI往往会造成阻碍,但起点是形状(或InlineShape)的OLEFormat成员。很难找到,因为“OLEFormat”不是一个特别有用的名称。

从现有文件(根据您的示例),您应该能够做到这一点

bmFile.Range.InlineShapes.AddOLEObject ClassType:="Excel.Sheet.12", _
  FileName:="C:\Users\Me\Desktop\TestFile.xlsx", _
  LinkToFile:=False, _
  DisplayAsIcon:=False
事实上,不使用文件就插入对象更糟糕。您可以通过将FileName参数设置为“”,但随后OLE服务器将启动并显示其UI(从文件嵌入时不会发生这种情况)

至于修改嵌入对象中的任何内容,这并不是特别简单,因为对象的UI往往会造成阻碍,但起点是形状(或InlineShape)的OLEFormat成员。很难找到,因为“OLEFormat”不是一个特别有用的名称。

从现有文件(根据您的示例),您应该能够做到这一点

bmFile.Range.InlineShapes.AddOLEObject ClassType:="Excel.Sheet.12", _
  FileName:="C:\Users\Me\Desktop\TestFile.xlsx", _
  LinkToFile:=False, _
  DisplayAsIcon:=False
事实上,不使用文件就插入对象更糟糕。您可以通过将FileName参数设置为“”,但随后OLE服务器将启动并显示其UI(从文件嵌入时不会发生这种情况)

至于修改嵌入对象中的任何内容,这并不是特别简单,因为对象的UI往往会造成阻碍,但起点是形状(或InlineShape)的OLEFormat成员。很难找到,因为“OLEFormat”不是一个特别有用的名称。

从现有文件(根据您的示例),您应该能够做到这一点

bmFile.Range.InlineShapes.AddOLEObject ClassType:="Excel.Sheet.12", _
  FileName:="C:\Users\Me\Desktop\TestFile.xlsx", _
  LinkToFile:=False, _
  DisplayAsIcon:=False
事实上,不使用文件就插入对象更糟糕。您可以通过将FileName参数设置为“”,但随后OLE服务器将启动并显示其UI(从文件嵌入时不会发生这种情况)


至于修改嵌入对象中的任何内容,这并不是特别简单,因为对象的UI往往会造成阻碍,但起点是形状(或InlineShape)的OLEFormat成员。很难找到,因为“OLEFormat”不是一个特别有用的名称。

我的实际实现是
bmFile.Range.InlineShapes.AddOLEObject“Excel.Sheet.12”,“C:\Users\Me\Desktop\TestFile.xlsx”,False,True,“C:\Windows\Installer\{90140000-0011-0000-0000000 ff1ce}\xlicons.exe”,1,“New.xlsx”
显示Excel图标和名称我的实际实现是
bmFile.Range.InlineShapes.AddOLEObject“Excel.Sheet.12”,“C:\Users\Me\Desktop\TestFile.xlsx”,False,True,“C:\Windows\Installer\{90140000-0011-0000-0000-0000000 ff1ce}\xlicons.exe”,1,“New.xlsx”
显示Excel图标和名称我的实际实现是
bmFile.Range.InlineShapes.AddOLEObject“Excel.Sheet.12”,“C:\Users\Me\Desktop\TestFile.xlsx”,False,True,“C:\Windows\Installer\{90140000-0011-0000-0000-0000000 ff1ce}\xlicons.exe”,1,“New.xlsx”
显示Excel图标和名称我的实际实现是
bmFile.Range.InlineShapes.AddOLEObject“Excel.Sheet.12”,“C:\Users\Me\Desktop\TestFile.xlsx”,False,True,“C:\Windows\Installer\{90140000-0011-0000-0000-0000000 ff1ce}\xlicons.exe”,1,“New.xlsx”
显示Excel图标和名称