2015-08-28 24 views
0

我遇到了一個我確定很傻的問題,而且我很明顯缺少這個問題。當我把「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; 
     } 
    } 
+0

什麼是你與該行做什麼? –

+0

@bhushan我正在嘗試確保選中左上角的單元格,以確保重點在那裏...用戶請求。 – Darw1n34

回答

2

Select()是用來選擇一個單元格或單元格區域的方法,你要使用它沒有功能的支架。

試試這個:

wksht.Cells[1, 1].Select(); 
+0

我知道這是愚蠢的....修復它。 – Darw1n34

+0

它說我必須等待8分鐘才能做到這一點......相信我我對它 – Darw1n34

+0

關於爲什麼select()類的範圍在這裏會失敗的任何額外想法? – Darw1n34

相關問題