Clipboard.GetText / SetText上的运行时错误424

时间:2018-03-12 13:41:31

标签: vba ms-word word-vba

我必须将大量文本从PDF文件复制并粘贴到Word文档中,并且它们带有所有PDF换行符,这些换行符不需要在Word上换行文本,因此我尝试编写一个宏,如果它工作,将节省我很多时间,在我的复制和粘贴操作之间用系统剪贴板中的空格字符替换换行符。这就是我尝试过的:

Sub PdfPaste()
Dim PdfPaste As String
PdfPaste = Clipboard.GetText
PdfPaste = Replace(PdfPaste, vbNewLine, " ")
Clipboard.SetText = PdfPaste
End Sub

这会在第3行和第5行(Clipboard.GetText和.SetText方法)上抛出运行时错误424对象。

我显然是个新手,所以请原谅我的无知,如果我对这里的做法非常不对......

1 个答案:

答案 0 :(得分:0)

正如Alex K.所指出的,我实际上使用的是 VBA ,而不是 VB6 ,这就是我的问题的答案。该问题提到的代码应该在VB6中工作。
我使用以下代码完成了所需的操作,该代码适用于Office的 VBA

Sub PastePDF() 
  Dim PdfPaste As String
  Dim objData As New MSForms.DataObject
  objData.GetFromClipboard
  PdfPaste = objData.GetText()
  PdfPaste = Replace(PdfPaste, vbNewLine, " ")
  objData.SetText PdfPaste
  objData.PutInClipboard 
End Sub