bool rep = xlWorkSheet.Cells.Replace(textBox1.Text,
textBox2.Text,
Excel.XlLookAt.xlWhole,
Excel.XlSearchOrder.xlByRows,
false,
Type.Missing,
Type.Missing,
Type.Missing);
问问题
445 次
2 回答
1
你不能这样做。如果参数正确,Range 的 Replace 方法总是返回 true。我知道你唯一能做的就是首先查找你的文本的出现,然后替换它。绝对没有优化,但我想不出别的东西。
bool rep = xlWorkSheet.Cells.Find(textBox1.Text,
Type.Missing,
Type.Missing,
Excel.XlLookAt.xlWhole,
Excel.XlSearchOrder.xlByRows,
Type.Missing,
false,
Type.Missing,
Type.Missing) != null;
if (rep)
xlWorkSheet.Cells.Replace(textBox1.Text,
textBox2.Text,
Excel.XlLookAt.xlWhole,
Excel.XlSearchOrder.xlByRows,
false,
Type.Missing,
Type.Missing,
Type.Missing);
于 2012-06-06T09:20:17.190 回答
1
下面的代码工作正常:
Excel.Range Range = xlWorkSheet.UsedRange;
currentFind = Range .Find(textBox1.Text, Type.Missing,Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart, Excel.XlSearchOrder.xlByRows,Excel.XlSearchDirection.xlNext,false,
Type.Missing, Type.Missing);
if (currentFind!=null)
{
SheetsArray.Add(xlWorkSheet.Name);
}
于 2012-06-06T10:43:27.953 回答