Введите текст из ячеек Excel в Word и сохраните форматирование - PullRequest
1 голос
/ 23 ноября 2011

У меня есть код сброса

strMyFormat1 = oWB.Worksheets(strSelectedSheet).Range(strStemLocation).NumberFormat

WordApp.Selection.TypeText Format(oWB.Worksheets(strSelectedSheet).Range(strStemLocation), strMyFormat1) & vbCr

Но он не сохраняет формат ячейки Excel

Например, если ячейка Excel выделена жирным шрифтом, я хочу, чтобы при вводемое слово doc

Я знаю, что это работает с копированием и вставкой, но я не хочу это делать

Ответы [ 2 ]

0 голосов
/ 25 ноября 2011

В этом примере процедуры создается новый документ 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
0 голосов
/ 23 ноября 2011

Существует много частей для форматирования ячеек, но вот некоторые из них, с которых можно начать:

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

Примечание: используйте свойство Text объекта диапазона, чтобы получить отформатированную версию;используйте Value, чтобы получить неформатированную версию.Также обратите внимание, что объект диапазона (rng) должен быть одной ячейкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...