2011-06-22 25 views
5

Estoy usando la Biblioteca de objetos de Microsoft Excel 12.0. Mi objetivo es encontrar texto con el nombre de fuente especificado y reemplazarlo con texto nuevo.Buscar y reemplazar texto en Excel con el nombre de fuente especificado

Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); 
xlApp.FindFormat.Font.Name = "Arial"; 
workSheet.Cells.Replace('a', 'b', Type.Missing, Type.Missing, Type.Missing, Type.Missing, xlApp.FindFormat, Type.Missing); 

pero no funciona.

Entonces, ¿cómo encontrar la cadena con el nombre de fuente especificado y reemplazarla con una nueva cadena?

¡Gracias!

Respuesta

2

Im no tan fluida con C# aquí es el código de vb.net:

Imports Microsoft.Office.Interop.Excel 
Public Class Class1 
Sub TEST() 

    Dim xlapp As New Microsoft.Office.Interop.Excel.Application 

    xlapp.FindFormat.Font.Name = "Arial" 

    Dim wb As Microsoft.Office.Interop.Excel.Workbook 

    wb = xlapp.Workbooks.Open("C:\test.xlsx") 

    wb.Worksheets("Sheet1").Cells.Replace(What:="*", Replacement:="eee", LookAt:=XlLookAt.xlWhole, _ 
    SearchOrder:=XlSearchOrder.xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False) 

End Sub 
End Class 

Me corrió un convertidor, que escupió C#:

using Microsoft.VisualBasic; 
using System; 
using System.Collections; 
using System.Collections.Generic; 
using System.Data; 
using System.Diagnostics; 
using Microsoft.Office.Interop.Excel; 
public class Class1 
{ 

public void TEST() 
{ 
    Microsoft.Office.Interop.Excel.Application xlapp = new Microsoft.Office.Interop.Excel.Application(); 

    xlapp.FindFormat.Font.Name = "Arial"; 

    Microsoft.Office.Interop.Excel.Workbook wb = default(Microsoft.Office.Interop.Excel.Workbook); 

    wb = xlapp.Workbooks.Open("C:\\test.xlsx"); 

    wb.Worksheets("Sheet1").Cells.Replace(What: "*", Replacement: "eee", LookAt: XlLookAt.xlWhole, SearchOrder: XlSearchOrder.xlByRows, MatchCase: false, SearchFormat: true, ReplaceFormat: false); 

} 
}