簡體   English   中英

C# VSTO,在不丟失格式的情況下編輯剪貼板中的文本

[英]C# VSTO, edit text from the clipboard without losing format

我的代碼需要一些幫助,我正在嘗試從 1 個單詞復制文本並將其粘貼到一個沒有“行空格”的新文本中,使用我的代碼它可以工作,但是......我丟失了所有文本的格式,我想保留它,有沒有可能或替代方法來做我想做的事?

Word.Range rng = Globals.ThisAddIn.Application.ActiveDocument.Content;

rng.Copy();

string TPaste = Clipboard.GetText();

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

object start = 0;
object end = 0;

rng = Protocol.Range(ref start, ref end);

rng.Text = TPaste;

好的,所以我終於讓它工作了! 這是解決方案,我所做的是復制所有內容並將其粘貼為原始格式,將它們粘貼到新單詞文檔中,我使用“查找和替換”工具,然后解決了我的問題!

Word.Range rng = Globals.ThisAddIn.Application.ActiveDocument.Content;

        rng.Copy();

        Protocol.Content.Paste();

        Word.Find findObject = Protocol.Application.Selection.Find;
        findObject.ClearFormatting();
        findObject.Text = "^p";
        findObject.Replacement.ClearFormatting();
        findObject.Replacement.Text = " ";

        object replaceAll = Word.WdReplace.wdReplaceAll;

        findObject.Execute(Replace: replaceAll);

        findObject.ClearFormatting();
        findObject.Text = "  ";
        findObject.Replacement.ClearFormatting();
        findObject.Replacement.Text = " ";

        findObject.Execute(Replace: replaceAll);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM