【发布时间】:2016-05-31 21:03:54
【问题描述】:
我的问题是通过创建 OLEObject 将表格从 Microsoft Word 导入 Excel 后,它不允许我将表格复制并粘贴到 Excel 中。它不断地将我剪贴板上上次复制的内容粘贴到第一个单元格中。目前,我的代码向用户询问文件名,在活动的 Excel 工作表中将该文件作为 OLEObject 打开,然后将不正确的信息粘贴到单元格 A1 中。它不是复制和粘贴 Word OLEObject 中的内容。
Sub Macro1()
Dim FName As String, FD As FileDialog
Dim ExR As Range
Set FD = Application.FileDialog(msoFileDialogOpen)
FD.Show
If FD.SelectedItems.Count <> 0 Then
FName = FD.SelectedItems(1)
Else
Exit Sub
End If
ActiveSheet.OLEObjects.Add(fileName:=FName, Link:=False, DisplayAsIcon:=False).Select
Selection.Verb Verb:=xlPrimary
Range("A1").Select
ActiveSheet.Paste
End Sub
谢谢!
【问题讨论】:
-
您能否将 Word 文档上传到某处或添加步骤以使用您要复制的内容重新创建它?
-
如果您从不使用
.copy,它怎么会出现在剪贴板中?selection.verb到底是什么?不应该是selection.copy吗?为什么使用.select如果你的objectif是.copy??? -
当使用宏记录器将对象插入到excel的整个过程中,VBA代码的输出本质上是从“ActiveSheet...”开始的最后4行代码宏记录器工作,但“文件名”路径是静态的,因为它只会打开您在录制宏时打开的任何文件的文件名。
-
我无法上传该文档,因为它是敏感材料,但在 MS word 中创建一个 x 行 1 列的表格基本上是我要导入 excel 的表格的格式。跨度>
标签: excel import ms-word createoleobject vba