如何find并replace使用C#的Excel中的单词/短语?

我目前正在为员工创build一个程序,用于根据用户input信息自动填充和打印检查表。检查表被创build为excel文档,我希望search文档中的特定字词或短语,并replace用户生成的variablesinput。

示例:用户input房间号RM:XXX,程序将search文档中的短语{房间号}并将其replace为RM:XXX。 我发现一些解决scheme不适用于Visual Basic 2017。

我用来build立一个解决scheme的最接近的解决scheme是:

Microsoft.Office.Interop.Excel.Application replaceWord = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook wb = default(Microsoft.Office.Interop.Excel.Workbook); wb = replaceWord.Workbooks.Open("C:\\test.xlsx"); wb.Worksheets("Sheet1").Cells.Replace(What: "{Room Number}", Replacement: "RM:XXX", LookAt: XlLookAt.xlWhole, SearchOrder: XlSearchOrder.xlByRows, MatchCase: false, SearchFormat: true, ReplaceFormat: false); 

问题是在最后一行wb.Worksheets出现了一个错误:{“非invocable成员WorkBook.Worksheets不能像一个成员使用”。}

任何人都可以指向正确的方向,我可以find为什么wb.Worksheets不工作或抛出一个错误?

工作表是一个属性,而不是一个方法。 这就是错误信息试图告诉你的。

该属性为您提供了一个实现索引器的Sheets实例,在C#中,这些实例可以使用[]进行访问。 你的最后一行应该是这样的:

 wb.Worksheets["Sheet1"] .Cells .Replace(What: "{Room Number}", Replacement: "RM:XXX", LookAt: XlLookAt.xlWhole, SearchOrder: XlSearchOrder.xlByRows, MatchCase: false, SearchFormat: true, ReplaceFormat: false); 

注意Worksheets["Sheet1"]的方括号。 那些有所作为。