将文字从Word表格单元格复制到电子表格单元格时出现额外字符



我正在将Word文档中表格单元格中的文本复制到Excel电子表格中的单元格中。

我在Word中有一个VBA宏,它主要使用以下语句来复制单元格文本

nWorksheet.Cells(nRow, nCol).Text = oDocument.Range(Start:=oCell.Range.Start, End:=oCell.Range.End - 1)

不幸的是,最终在电子表格单元格中的内容似乎有一个额外的不可见字符,其作用类似于换行符或回车符。

有人知道这个额外的角色是什么吗?或者如何避免它?

谢谢!

我使用这个小函数从单元格返回文本,因为我总是忘记逻辑,但调用getCellText很容易记住。

Public Function getCellText(c As Word.cell) As String
'returns text without cell-end
getCellText = Replace(c.Range.Text, Chr(13) & Chr(7), vbNullString)
'alternative:
'getCellText = Left(c.Range.text, Len(c.Range.text) - 2)
End Function

Chr(13) & Chr(7)表示需要删除的单元格末端。因此,您需要将末尾移动两个字符或将其替换。

你可以这样使用它:

nWorksheet.Cells(nRow, nCol).Text = getCellText(oCell)

最新更新