input文本从Excel单元格到Word并保留格式
我有这个fllowing的代码
strMyFormat1 = oWB.Worksheets(strSelectedSheet).Range(strStemLocation).NumberFormat WordApp.Selection.TypeText Format(oWB.Worksheets(strSelectedSheet).Range(strStemLocation), strMyFormat1) & vbCr
但它不保留Excel单元格的格式
例如,如果Excel单元格是粗体,我希望在inputword文档时保留这个单元格
我知道它适用于复制和粘贴,但我不想这样做
此示例过程创build一个新的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
有许多单元格格式化的部分,但是这里有几个让你开始:
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
)应该是单个单元格。