我正在将文本从Excel移动到Word中,并且我发现Word文件最终会引用围绕其中包含换行符的单元格内容的引号。我只是直接复制然后粘贴到Word中。
我正在复制这样的事情:
使用换行符的示例数据:
这里很难再现,但我正在使用子弹字符(alt + 7)来创建项目符号列表和换行符(alt + enter)以使所有内容适合单个单元格。
正在Word中正确地再现该文本,除了它被双引号包围:
“使用换行符的示例数据:
有没有办法避免这种情况而无需在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中的换行符替换虚拟文本。我希望有更优雅的东西。
非常感谢任何帮助。