2011-07-22 11 views
0

私は現在、次のコードは動作しません、私のDocument.Contents.TextWord.Document内容 - >テキストの編集

内部のテキストを編集しようとしている問題を持っている:

object findingFile = m_TempFileDirectory.FullName + "\\" + formField.Name + ".rtf"; 
Document tempDoc = wordApp.Documents.Open(ref findingFile, ref m_Missing, 
    ref m_Missing, ref m_Missing, ref m_Missing, ref m_Missing, ref m_Missing, 
    ref m_Missing, ref m_Missing, ref m_Missing, ref m_Missing, ref m_Missing, 
    ref m_Missing, ref m_Missing, ref m_Missing, ref m_Missing); 
tempDoc.Content.Select(); 
String st = tempDoc.Content.Text; 
st = st.Replace("\r", ""); 
tempDoc.Content.Text = st; 
tempDoc.Content.Copy(); 
tempDoc.Close(ref m_DiscardChanges, ref m_Missing, ref m_Missing); 
r.Paste(); 

マイ結果まだ(私はニューラインは\ rを削除しようとしている)

Lipid level: not specified\r 
+0

私は私の答えを更新しました。それが助けにならないのであれば、テキストで実際に何をしようとしているのかを説明してください。 –

答えて

1

EDIT

もちろん、あなたが実際の制御文字(\ r)が、ないリテラル「\ R」」を交換しているので、私は、\ rをエスケープについて間違っていました。ごめんなさい。あなたはtempDoc.Content.Text = st;新しい改行(\ r)が付加されますを行う際

あなたは、あなたのコメントで正しいです。実際に値を使用した時点で、常に削除または置換する必要があります。

あなたがテキストをクリップボードにコピーするように見えますか?もしそうなら、なぜ単なる文字列(st)からそれをしない:

 String st = tempDoc.Content.Text.Replace("\r", "\n"); 
     System.Windows.Forms.Clipboard.SetText(st); 

あなたは何の改行がないことを行わない場合ので、私はまた、キャリッジ・リターン(\ n)がで改行を置き換えますテキストはまったくありません(複数行のテキストがある場合は問題です)。

st = st.Replace("\n", "").Replace("\r", "").Replace("\n\r", ""); 

側注:

\nのUnixでの改行文字として使用

+0

あなたが見ると、stは正常に置き換えられていますが、tempDoc.Contents.Textに戻した時点(読み込み専用でないか、エラーが出ます)。それはまだ\ rを追加します。 –

0

てみてください(オリジナルの答えは削除しました)。マックでの改行文字として使用

\r。 Windowsでの改行文字として使用

\n\r

+0

stが正常に置き換えられていますが、tempDoc.Contents.Text(読み込み専用でないか、エラーが発生します)に戻した瞬間です。それはまだ\ rを追加します。 –

+0

正しくチェックしましたか? stringは.Netで不変です。したがって、 'st'が私たちの意図に置き換えられた場合、ドキュメントが同じ場所に同じものを追加する方法はありません。 – NaveenBhat

関連する問題