从Excel单元格中读取富文本

我正在尝试阅读一个excel电子表格,其中一些单元格包含富文本。我想将其转换为纯文本格式,以某种方式编码格式。例如,给出文本: “这里有一些带有斜体的文字。” 我想将其转换为: “这里有一些带有斜体的文字[i]在它的中间[/ i]”。 问题是我还没有找到从excel单元格中提取富文本的方法。
Interop.Office.Excel
允许我得到一个
Range
并检查它的
Style
属性,但这只能告诉我单元格本身是否是斜体;它没有给我任何个人角色的信息。我发现的最好的“解决方案”包括将单元格的内容复制到剪贴板并调用
Clipboard.GetData(System.Windows.DataFormats.Rtf)
,这实在太慢了。 有没有一种智能的方法来访问我缺少的excel单元格中包含的富文本?     
已邀请:
访问字符串中单个字符格式的方法是使用
Range.Characters
对象 这里演示的是VBA中的一个简单UDF,它使用您描述的Italic格式。您可以扩展它以检测您需要的任何其他格式
Function DecodeText(r As Range) As Variant
    Dim strDecoded As String
    Dim bItalic As Boolean
    Dim i As Long, j As Long

    If TypeName(r.Value) = "String" Then

        bItalic = False
        strDecoded = r
        j = 1
        For i = 1 To Len(strDecoded)
            If Not bItalic And r.Characters(i, 1).Font.Italic Then
                strDecoded = Left(strDecoded, j - 1) & "[i]" & Mid(strDecoded, j)
                bItalic = True
                j = j + 3
            ElseIf bItalic And Not r.Characters(i, 1).Font.Italic Then
                strDecoded = Left(strDecoded, j - 1) & "[/i]" & Mid(strDecoded, j)
                bItalic = False
                j = j + 4
            End If
            j = j + 1
        Next
        If bItalic Then strDecoded = strDecoded & "[/i]"
        DecodeText = strDecoded
    Else
        DecodeText = r
    End If
End Function
    
i dont have answer for your question
但我建议你去研究这个网站  http://www.winnovative-software.com/  从这个网站你可以得到wnuxls.dll 具有我们想要用excel执行的所有功能的文件尝试它     

要回复问题请先登录注册