使用手动换行符粘贴文本时添加的引号

时间:2016-01-19 19:47:27

标签: vba excel-vba word-vba copy-paste line-breaks

我正在将文本从Excel移动到Word中,并且我发现Word文件最终会引用围绕其中包含换行符的单元格内容的引号。我只是直接复制然后粘贴到Word中。

我正在复制这样的事情:

使用换行符的示例数据:

  • 第1项
  • 第2项
  • 第3项

这里很难再现,但我正在使用子弹字符(alt + 7)来创建项目符号列表和换行符(alt + enter)以使所有内容适合单个单元格。

正在Word中正确地再现该文本,除了它被双引号包围:

“使用换行符的示例数据:

  • 第1项
  • 第2项
  • 第3项“

有没有办法避免这种情况而无需在Excel或Word中执行某些复杂的搜索和替换?遗憾的是,我不能简单地从Word中删除所有双引号,因为在移动的文本中其他地方可能会使用引号。

 Dim k As Integer

'Begins copying to Word
For k = 1 To Number_Criteria

    Selection.Copy

    'Checks whether there's a subcategory (merged) cell in Excel, formats Word table to match and pastes subcategory into Word
    If ActiveCell.MergeCells = True Then

        Dim Subcategory As String: Subcategory = ActiveCell.Text

        Word_App.Selection.EndOf Unit:=wdRow, Extend:=wdExtend
        Word_App.Selection.Cells.Merge
        Word_App.Selection.TypeText Text:=Subcategory
        Application.CutCopyMode = False
        Word_App.Selection.Style = "CellBodyL"
        Word_App.Selection.StartOf Unit:=wdCell
        Word_App.Selection.EndOf Unit:=wdRow, Extend:=wdExtend
        Word_App.Selection.Font.Bold = True
        Word_App.Selection.MoveDown
        Word_App.Selection.StartOf Unit:=wdRow

    'Excel cell isn't a subcategory (merged) cell in Excel, paste criterion into Word
    Else

        On Error GoTo Clipboard_Error:

        Word_App.Selection.PasteSpecial DataType:=wdPasteText

        Application.CutCopyMode = False
        Word_App.Selection.Style = "CellBodyL"
        Word_App.Selection.EndOf Unit:=wdCell
        Word_App.Selection.MoveDown

    End If

    'Moves to next cell
    Selection.Offset(1, 0).Select

Next k

我已将问题缩小到换行符 - 如果我用虚拟文本替换换行符(例如@@@),则引号不会被添加。

目前,我最好的想法是用虚拟文本替换换行符,将数据复制到Word,然后用Word和Excel中的换行符替换虚拟文本。我希望有更优雅的东西。

非常感谢任何帮助。

0 个答案:

没有答案