2

Excelワークシート全体を検索し、「req」を「requirement」に置き換える次を使用しています。

oSheet.Cells.Replace("req", "requirement");

req という単語を置き換える代わりに、太字にしたいと思います。これどうやってするの?これが間違っていることはわかっていますが、理論的には次のことをしたいと思います。

oSheet.Cells.Replace("req", "<b>req</b>");

ありがとう。

4

2 に答える 2

3

セル内のテキストの個々の項目を太字に設定する必要があると想定していますが、これは最初に表示されるよりも少し複雑です。以下はトリックを行います:

    public void FindTextAndSetToBold(string text)
    {
        Excel.Range currentFind = null;
        Excel.Range firstFind = null;

        // Find the first occurrence of the passed-in text

        currentFind = oSheet.Cells.Find(text, Missing.Value, Excel.XlFindLookIn.xlValues,
            Excel.XlLookAt.xlPart, Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext,
            false, Missing.Value, Missing.Value);

        while (currentFind != null)
        {
            // Keep track of the first range we find

            if (firstFind == null)
            {
                firstFind = currentFind;
            }
            else if (currentFind.get_Address(Missing.Value, Missing.Value, Excel.XlReferenceStyle.xlA1,
                Missing.Value, Missing.Value) ==
                firstFind.get_Address(Missing.Value, Missing.Value, Excel.XlReferenceStyle.xlA1,
                Missing.Value, Missing.Value))
            {
                // We didn't move to a new range so we're done

                break;
            }

            // We know our text is in first cell of this range, so we need to narrow down its position

            string searchResult = currentFind.get_Range("A1").Value2.ToString();
            int startPos = searchResult.IndexOf(text);

            // Set the text in the cell to bold

            currentFind.get_Range("A1").Characters[startPos + 1, text.Length].Font.Bold = true;

            // Move to the next find

            currentFind = oSheet.Cells.FindNext(currentFind);
        }
    }

ここから部分的に取得し、変更しました。

于 2012-05-01T16:56:37.400 に答える
0

これはあなたが望むことをしますか?(事前設定)

Application.ReplaceFormat.Font.FontStyle = "Bold"
于 2012-05-01T02:50:52.223 に答える