1
A
回答
1
另一種選擇,可以使用Microsoft格式文本框控件(但不能測試它在x64辦事處)
Sub rtfToText()
With CreateObject("RICHTEXT.RichtextCtrl") ' or add reference to Microsoft Rich Textbox Control for early binding and With New RichTextLib.RichTextBox
.SelStart = 0 ' needs to be selected
.TextRTF = Join(Application.Transpose(Cells.CurrentRegion.Columns(1)))
[C1] = .Text ' set the destination cell here
' or if you want them in separate cells:
a = Split(.Text, vbNewLine)
Range("C3").Resize(UBound(a) + 1) = Application.Transpose(a)
End With
End Sub
1
.NET框架RichTextBox類可以執行轉換。幸運的是,這個類具有ComVisibleAttribute集合,因此它可以在VBA中使用,而不會有太大困難。我不得不創建一個.tlb文件來引用。在
%SYSTEMROOT%\ Microsoft.NET \框架\ currentver \
目錄,然後運行命令
regasm /codebase system.windows.forms.dll
創建system.windows.forms.tlb文件。我的系統中已經有了這個.tlb文件,但是我必須使用此命令重新創建它,才能在VBA中成功創建.Net System.Windows.Forms RichTextBox對象。
創建新的.tlb文件後,在VBA中通過VBA IDE中的Tools-> References將它鏈接到您的項目。
我在Access中寫了這個測試代碼來演示解決方案。
Dim rtfSample As String
rtfSample = "{\rtf1\ansi\deflang1033\ftnbj\uc1 {\fonttbl{\f0 \froman \fcharset0 Times New Roman;}{\f1 \fswiss \fcharset0 Segoe UI;}} {\colortbl ;\red255\green255\blue255 ;} {\stylesheet{\fs22\cf0\cb1 Normal;}{\cs1\cf0\cb1 Default Paragraph Font;}} \paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\headery720\footery720\deftab720\formshade\aendnotes\aftnnrlc\pgbrdrhead\pgbrdrfoot \sectd\pgwsxn12240\pghsxn15840\marglsxn1440\margrsxn1440\margtsxn1440\margbsxn1440\headery720\footery720\sbkpage\pgnstarts1\pgncont\pgndec \plain\plain\f1\fs22\lang1033\f1 hello question stem\plain\f1\fs22\par}"
Dim miracle As System_Windows_Forms.RichTextBox
Set miracle = New System_Windows_Forms.RichTextBox
With miracle
.RTF = rtfSample
RTFExtractPlainText = .TEXT
End With
MsgBox RTFExtractPlainText(rtfSample)
有了結果
我認爲重新創建在\ Framework64 \目錄將需要在64位的Windows與64位Office .tlb文件。我在32位Office 2013上運行64位Win10,所以我必須有一個32位的.tlb文件。
相關問題
- 1. 將RTF轉換爲純文本格式
- 2. 將RTF轉換爲PDF格式
- 3. 將Java代碼格式化爲Word/RTF
- 4. 加速將RTF轉換爲純文本
- 5. 如何將RTF轉換爲純文本?
- 6. 將Rtf,Excel,Pdf或Html文件格式轉換爲圖像
- 7. 如何將rtf格式的文本轉換爲圖像?
- 8. rtf格式爲pdf
- 9. 甲骨文plsql的RTF VARCHAR2場爲純文本格式
- 10. 使用ASP.NET中的Web瀏覽器控件將HTML轉換爲RTF(RTF格式)
- 11. 將ascii格式化的表格轉換爲rtf
- 12. 如何將MySQL中的RTF文本轉換爲純文本?
- 13. 轉換RTF文件爲PDF文件格式,在Solaris 10
- 14. 在Java中將RTF轉換爲純文本
- 15. 橫紗RTF格式
- 16. 識別rtf格式
- 17. c#excel格式rtf中的每一行
- 18. 將腳本轉換爲RTF
- 19. WPF Richtextbox以純文本格式打開RTF文件
- 20. rtf轉換爲文本
- 21. 將RTF字符串中的unicode字符轉換爲純文本
- 22. 通過C#將純文本格式轉換爲純文本格式?
- 23. 將RTF文本格式化爲多個文本框
- 24. JSON - 如何將純文本格式轉換爲json格式?
- 25. .Net RTF Writer:如何添加預格式化的RTF文本?
- 26. RTF到純文本
- 27. 使用Java格式將rtf轉換爲html
- 28. 將ALTO XML轉換爲格式化的PDF/RTF/TXT?
- 29. 如何將rtf轉換爲圖像格式(jpg/png ..)
- 30. 在Excel中轉換爲文本格式
http://stackoverflow.com/questions/1673025/rich-text-format-with-formatting-tags-in-excel-to-unformatted-text – Slai
@Slai這是我讀的第一本。它很舊。我試過了,它不支持x64。我希望有人在8年後找到更好的辦法。另外,我對VBA不太好。 – Ivan