2010-03-10 14 views
1

J'essaie de répliquer ce code Access VBA en utilisant C#, mais je suis incapable de le faire. Vous vous demandez si quelqu'un d'autre a déjà essayé cela et peut vous aider.Définir les plages nommées Excel via C#?

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

rgSignOffRecTemplate est un "nom défini" dans le modèle Excel que je Essaie d'écrire.

Un grand merci pour votre aide.

+0

erreur/exception, stacktrace? – shahkalpesh

+0

Aucune erreur/exception ... parce que je ne sais pas comment définir la valeur – Chapax

+0

Essayez cette recherche: http://stackoverflow.com/search?q=write+excel+[c%23] Il est plus facile de travailler à partir d'Excel, plutôt qu'Excel via Access. – Fionnuala

Répondre

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 une tonne ... laissez-moi essayer cela – Chapax

+0

Cela a fonctionné parfaitement .. .thanks une tonne AMissico – Chapax

+0

Cela a fonctionné très bien ... oldie mais goodie ... – gotmike