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 )应该是单个单元格。