2017-10-11 150 views
0

我在帶有格式化多段/行文本(包括編號列表和項目符號列表)的word文檔中有一個表格。我想使用VBA宏將這些文本複製到一個單元格中。 當我將單元格粘貼到Excel單元格中時,源代碼的一段被粘貼到另一行。當我將它直接粘貼到單元格中(單擊公式字段並粘貼剪貼板的內容)時,我將失去格式。 由於Excel單元格不支持HTML標籤,列表等,所以如果格式化文本轉換爲純文本格式,將編號列表替換爲實數,就可以了。在單個單元格中格式化多段落

So問: 如何將格式化文本作爲普通結構化文本粘貼到單個單元格中?

回答

0

我已經找到了解決的辦法,我想和大家分享:

resultRow=4 ' row number in Excel sheet 
' read the number of paragraphs from word table cell (vRow) 
i = vRow.Cells(3).Range.Paragraphs.Count 
' copy and paste the cell content into Excel 
vRow.Cells(3).Range.Copy 
ActiveSheet.Cells(resultRow, 3).Select 
ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False 
' excel has copied the formatted the paragraphs into consecutive rows 
' of the selected column 
' concatenate the text of the cells 
v = "" 
For j = 0 To i - 1 
    v = v + ActiveSheet.Cells(resultRow + j, 3).Value 
    If j < i - 1 Then v = v + Chr(10) 

Next j 
ActiveSheet.Cells(resultRow, 3).Value = v 
' clear all formatting 
Selection.ClearFormats 
Selection.WrapText = True 
Selection.VerticalAlignment = xlTop 
相關問題