2013-11-19 3 views
2

Я хочу получить форматированный текст ячейки excel как RTF, используя VBA (для хранения форматированного текста в базе данных). Если невозможно получить текст как RTF, как я могу сохранить отформатированный текст в базе данных и сохранить форматирование?Excel VBA - получить значение ячейки как текст в формате RTF

Спасибо!

+0

Обратный инженер форматирования путем форматирования другой ячейки для соответствия. напишите макрос, который может форматировать и переформатировать текст - что-то вроде макроса шаблона. Я не думаю, что можно экспортировать форматирование ячейки как rtf. простыми словами - вам нужно сохранить текст как текст без форматирования, а затем макрос метаданных для хранения форматирования –

+0

или сохранить книгу как веб-страницу, а затем отредактировать страницу с помощью блокнота. вы увидите мета-(xml) форматирование своих ячеек, но тогда вам еще понадобится макрос для чтения этих данных. –

ответ

3

Если у вас также есть Word, вы можете использовать Automation. Следующий код скопирует ячейку в новое приложение Word и сохранит ее как файл rtf.

Sub SaveRTF() 
    Dim objWD As Word.Application 
    Dim wdDoc As Word.Document 

    Set objWD = CreateObject("Word.Application") 
    objWD.Documents.Add 
    Set wdDoc = objWD.ActiveDocument 
    wdDoc.Select 
    ThisWorkbook.Worksheets("Sheet1").Cells(1, 1).Copy 'Change cell reference and sheet name 
    objWD.Selection.Paste 
    wdDoc.SaveAs2 "C:\\Users\\YourName\\Documents\\FormatFile.rtf", wdFormatRTF 'Change File Name here 
    wdDoc.Close 

    Set wdDoc = Nothing 
    Set objWD = Nothing 
End Sub 
+0

Вам также необходимо добавить ссылку на библиотеку объектов MS Word –

Смежные вопросы