2014-10-18 111 views
4

我是编程新手,需要一些帮助。查找并替换富文本而不会丢失格式化

我用VB 2010 Express和我想读一个.rtf文件为一个字符串,然后查找并在其中替换文本,并最终为新文件

我已经成功地做到输出这与下面的代码,但它失去了格式回车和输出都在一行?

感谢您的帮助 詹姆斯

Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click 

    Dim fileReader As String 
    fileReader = My.Computer.FileSystem.ReadAllText("C:\Testing\Reports\test2.rtf") 

    fileReader = fileReader.Replace("@@[email protected]@", RichTextBox1.Text) 

    Dim StreamW As New IO.StreamWriter("C:\Testing\Reports\test3.rtf") 

    StreamW.Write(fileReader) 
    StreamW.Close() 

回答

2
RichTextBox1.Text 

犯规保存格式信息。请尝试改为:

RichTextBox1.Rtf 

此外,ReadAlltext函数还会删除缺少的cr。尝试ReadToEnd而不是

+0

感谢您的帮助,我试过RichTextBox1.SelectedRtf,如果所有文本被选中,然后偶然发现RichTextBox1.Rtf这工作没有选择文本。如果我用TextBox替换RichTextBox,你知道我可以使用什么吗? – 2014-10-19 18:22:47

+0

我不觉得我得到你想做的事情。据我所知的rtf的语法,你可以替换文本,而不会损坏现有的格式。否则你必须自己添加格式。我GOOGLE了一下,发现这个:http://www.biblioscape.com/rtf15_spec.htm 如果这不能帮助你 - 请给我一个更详细的信息你想做什么。 – Index 2014-10-19 18:55:20