2010-03-10 5 views
1

Я пытаюсь реплицировать этот код доступа VBA с помощью C#, но я не могу этого сделать. Удивление, если кто-либо еще попробовал это раньше и может помочь.Установите Excel с именованными диапазонами через C#?

oWB.Worksheets ("SIGNOFF"). Range ("rgSignOffRecTemplate"). Value = g_TemplatePath & "Signoff_Rec.XLT"

rgSignOffRecTemplate является "Defined Name" в шаблоне Excel, что я Я пытаюсь писать.

Большое спасибо за помощь.

+0

любая ошибка/исключение, stacktrace? – shahkalpesh

+0

Ошибка/исключение ... потому что я просто не знаю, как установить значение – Chapax

+0

Попробуйте этот поиск: http://stackoverflow.com/search?q=write+excel+[c%23] Это эзир для работы из Excel, а не Excel, хотя Access. – Fionnuala

ответ

5
private void ThisWorkbook_Startup(object sender, System.EventArgs e) 
    { 
     Excel.Name oName; 
     Excel.Range oRange; 

     //'using name 
     oName = ExcelWorkbook1.Globals.ThisWorkbook.Names.Item("rgSignOffRecTemplate", missing, missing); 
     oName.RefersToRange.Value2 = "here"; 

     //'using range 
     oName = this.Names.Item("rgSignOffRecTemplate", missing, missing); 
     oRange = oName.RefersToRange; 
     oRange.Value2 = "here i am"; 

     //'direct access 
     this.Names.Item("rgSignOffRecTemplate", missing, missing).RefersToRange.Value2 = "here i am again"; 

     DisplayWorkbookNames(); 

    } 

    private void DisplayWorkbookNames() { 
     for (int i = 1; i <= this.Names.Count - 1; i++) { 
      Globals.Sheet1.Range["A" + i.ToString(), missing].Value2 = this.Names.Item(i, missing, missing); 
     } 
    } 
+0

Thx a ton ... позвольте мне попробовать это – Chapax

+0

Это сработало отлично ... Thanks AMissico – Chapax

+0

Это сработало отлично ... oldie but goodie ... – gotmike

Смежные вопросы