wdPasteText粘贴为Word上的图像

时间:2017-12-06 08:11:41

标签: excel vba ms-word word-vba

我非常接近终于完成了我一直在努力的代码,但是我遇到了一些障碍。我需要将所选内容作为纯文本粘贴到word文档上,但是,使用我当前的代码,它会将所选内容粘贴为图像。

Sub CopyRangeToWord()
 Dim objWord
 Dim objDoc

Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add

Sheets("Executive Outline").Range("B5:B220").Select
Selection.Copy

With objWord
    .Selection.PasteSpecial Link:=False, DataType:=wdPasteText, _
    Placement:=wdInLine, DisplayAsIcon:=False
End With
objWord.Visible = True
End Sub

有人可以让我知道我哪里出错吗?我将不胜感激。

1 个答案:

答案 0 :(得分:2)

这里的解决方案是使用此代码:

.Selection.PasteSpecial Link:=False, DataType:=2, _
    Placement:=wdInLine, DisplayAsIcon:=False

简短说明......:

您正在使用Late Bindings而没有Option Explicit语句。因此,MS Word constantswdPasteText之类的所有wdInLine都被视为未声明值的变量。因此,两个常量都有0。解决方案:

  1. 使用early binding保留text constants
  2. 始终使用Option Explicit来避免此类问题
  3. {li> for late binding始终使用数值而不是文本常量。