只有赋值、调用、增量、递减、await和new对象表达式可以作为语句使用
本文关键字:表达式 语句 对象 new 调用 赋值 增量 递减 await | 更新日期: 2023-09-27 18:10:26
我有一个问题,我肯定是愚蠢的,我错过了显而易见的。当我将"wksht.Cells[1,1]. select;"放入代码以选择最左上角的单元格时,我得到了以下错误。
Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement.
下面是它被调用的方法:
public void ValueSaves(Excel.Workbook wb, Excel.Application excelApp)
{
Excel.Worksheet wksht;
excelApp.ScreenUpdating = false;
for (int i = 0; i < lstSaveSheet.Items.Count; i++)
{
string range = lstSaveRange.Items[i].ToString();
wksht = wb.Sheets[lstSaveSheet.Items[i].ToString()];
Boolean sheetProtected = false;
if (wksht.ProtectContents)
{ sheetProtected = true; }
wksht.Unprotect();
if (range == "whole sheet")
{
//select & copy whole sheet
wksht.get_Range("a1").EntireRow.EntireColumn.Copy(Type.Missing);
//paste whole sheet as a value
wksht.get_Range("a1").EntireRow.EntireColumn.PasteSpecial(Excel.XlPasteType.xlPasteValues, Excel.XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);
}
else
{
string[] CellRefs = lstSaveRange.Items[i].ToString().Split(':');
wksht.get_Range(CellRefs.First(), CellRefs.Last()).Copy(Type.Missing);
//paste range as a value
wksht.get_Range(CellRefs.First(), CellRefs.Last()).PasteSpecial(Excel.XlPasteType.xlPasteValues, Excel.XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);
}
wksht.Cells[1, 1].Select; <== Error here
if (sheetProtected)
{ wksht.Protect(); }
Clipboard.Clear();
excelApp.ScreenUpdating = true;
}
}
Select()是一个用于选择单元格或单元格范围的方法,并且您试图在没有函数括号的情况下使用它。
试试这个:
wksht.Cells[1, 1].Select();