将Word表复制到Excel而不拆分单元格

时间:2018-03-07 16:09:31

标签: excel vba excel-vba

我正在努力将一个单词表粘贴到excel中,而不会将分段符分割出来,因为我想抓住这些段落并稍后粘贴到excel中。

有没有人知道如何防止excel在从word表格粘贴到Excel中时拆分段落文本?

Sub InputDoc()
  Dim Oo As OLEObject
  Dim wDoc As Object 'Word.Document

  'Search for the embedded Word document
  For Each Oo In Worksheets("Input").OLEObjects
      If InStr(1, Oo.progID, "Word.Document", vbTextCompare) > 0 Then
          'Open the embedded document
          Oo.Verb xlVerbPrimary
          'Get the document inside
          Set wDoc = Oo.Object

          'Copy the contents to cell A1
          wDoc.Content.Copy
          Worksheets("Paste").Range("A1").PasteSpecial Paste:=xlPasteFormats

1 个答案:

答案 0 :(得分:1)

您要复制的文字在字符串中有CRLF,并且您希望避免Excel将其解释为多个单元格。

请避免使用粘贴,而是使用Range.Value。问题解决了。

'Search for the embedded Word document
For Each Oo In Worksheets("Input").OLEObjects
If InStr(1, Oo.progID, "Word.Document", vbTextCompare) > 0 Then
    'Open the embedded document
    Oo.Verb xlVerbPrimary
    'Get the document inside
    Set wDoc = Oo.Object

    'Copy the contents to cell A1
    Worksheets("Paste").Range("A1").value = wDoc.Content

这会将整个wDoc.content放入一个单元格中。那不是你真正想要的。您确实需要遍历Word中的表并使用.Value将数据插入Excel。