2017-09-29 10 views
2

Excel interopにはFind methodがありますが、使用方法はわかりません。Excel Interop - 形式でセルを検索する方法は?

範囲(Microsoft.Office.Interop.Excel.Range)内の特定の色を持つセルを検索したいとします。 Excelでは、次のようになります。

  1. Ctrl + Fを押して[検索と置換]ダイアログを開きます。テキストボックスに 'Find what:' Emptyと入力します。
  2. クリックボタン、[オプション>>]キーまたはAlt + T
  3. クリックボタン、[フォーマット...]か、Alt + M]タブのフォントへ
  4. ゴー - > [カラーオプション(Altキー+ C)をクリックし、色を選択。
  5. [OK]をクリックし、[

私はちょうどプログラムでExcelの相互運用機能であることをしたい[次を検索]をクリックします。読書のための

おかげで:)

答えて

1

あなたはFind()メソッドを呼び出す前にApplication.FindFormatプロパティを設定する必要があります。

など。あなたが現在のテーマのアクセントカラー2を検索したい場合は、

// These are the search options of the "Format" dialog. 
_application.FindFormat.Font.Color = 255; 
_application.FindFormat.Font.TintAndShade = 0; 

// cell is null if nothing was found. 
var cell = _application.Cells.Find(What: "", After: _application.ActiveCell, 
    LookIn: XlFindLookIn.xlFormulas, LookAt: XlLookAt.xlPart, 
    SearchOrder: XlSearchOrder.xlByRows, SearchDirection: XlSearchDirection.xlNext, 
    // It's important to set SearchFormat to true. 
    MatchCase: false, SearchFormat: true); 

:あなたは、「検索と置換」ダイアログの標準設定を使用して赤血球を検索したい場合は、次のコードを使用することができますあなたにもこれを行うことができます:あなたはセルを見つけた後

_application.FindFormat.Font.ThemeColor = XlThemeColor.xlThemeColorAccent2; 

あなたは「検索と置換」ダイアログの正確な動作をエミュレートしたい場合は、cell.Activate()を呼び出すことができます。

関連する問題