我有fllowing代码
strMyFormat1 = oWB.Worksheets(strSelectedSheet).Range(strStemLocation).NumberFormat
WordApp.Selection.TypeText Format(oWB.Worksheets(strSelectedSheet).Range(strStemLocation), strMyFormat1) & vbCr
但它不保留Excel Cell的格式
e.g。如果Excel单元格是粗体,我希望在输入我的单词doc
时保留它我知道它适用于复制和粘贴,但我不想这样做
答案 0 :(得分:0)
单元格格式有很多部分,但这里有一些可以帮助您入门:
Dim rng As Excel.Range
Set rng = oWB.Worksheets(strSelectedSheet).Range(strStemLocation)
With Selection
.Text = rng.Text
.Font.Bold = rng.Font.Bold
.Font.Color = rng.Font.Color
End With
注意:使用range对象的Text
属性来获取格式化版本;使用Value
获取未格式化的版本。另请注意,范围对象(rng
)应该是单个单元格。
答案 1 :(得分:0)
此示例过程创建一个新的Word文档,并在活动的Excel工作表中添加每个单元格的内容,保留(某些)格式:
Sub ExportToWord_Example2()
Dim WordApp As Word.Application
Dim doc As Word.Document
Dim rng As Range
Set WordApp = CreateObject("Word.Application")
With WordApp
.Visible = True
Set doc = .Documents.Add
End With
For Each rng In ActiveSheet.UsedRange
With doc.Paragraphs(doc.Paragraphs.Count).Range
.Text = rng.Text
.Font.Bold = rng.Font.Bold
.Font.Color = rng.Font.Color
End With
doc.Range.InsertParagraphAfter
Next rng
End Sub
答案 2 :(得分:0)
因此,您有一个单元格,并且想要将其内容复制到Doc一词中?
我会的:
Cells(currentRow, currentCol).Copy
.Cell(2,1).Range.PasteAndFormat (wdFormatOriginalFormatting)
这将完全复制原始文本。字体,粗体,颜色等。
提醒:
单元格= Excel电子表格中的单元格
.Cell =您要粘贴到Word文档中的单元格
但是,如果您想将字体修改为Arial,以更好地匹配WordDoc的其余部分,但如果存在,仍保留原始颜色和粗体等。只需添加:
.Cell(2,1)Range.Font.Name ("Arial")
您可以对任何其他Font属性(例如size等)执行相同的操作 关键是在将这些更改复制到Word文档之后进行这些更改。
希望这可以帮助某人。 -S