à l'aide de c# pour sélectionner une feuille de calcul dans excel
À l'aide de C# dans .NET 3.5 avec Visual Studio 2008, je suis en train de mettre le focus (ou activer) un feuille de calcul dans un classeur ouvert:
Voici quelques propriétés:
public Excel.Application xlApp {get;set;}
public Excel.Workbook xlWorkBook { get; set; }
public Excel.Worksheet xlWorkSheet { get; set; }
public Excel.Range range { get; set; }
Et voici comment je suis en train de sélectionner une feuille de calcul spécifique:
(xlWorkSheet)Application.ActiveWorkbook.Sheets[FormControls.WorksheetFocus]).Select(Type.Missing);
Et j'ai aussi essayé de cette façon:
((Excel.Worksheet)this.Application.ActiveWorkbook.Sheets[1]).Select();
Ce que je fais mal? Comment puis-je sélectionner une feuille de calcul dans un classeur à l'aide de C#?
explication de cas où les définitions sont les suivantes:
namespace EmailSalesVolumeSolution
{
class WorkBook
{
public string MasterFileName { get; set; }
public string[] DistinctEmails { get; set; }
public Excel.Application xlApp {get;set;}
public Excel.Workbook xlWorkBook { get; set; }
public Excel.Worksheet xlWorkSheet { get; set; }
public Excel.Range range { get; set; }
et tout est dans la même classe et de l'espace de noms
ici est de savoir comment il s'initialise:
private void OpenWorkBook()
{
string str;
int rCnt = 0;
int cCnt = 0;
xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Open(MasterFileName, 0, true, 5, "", "", true,
Microsoft.Office.Interop.Excel.XlPlatform.xlWindows,
"\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(FormControls.WorksheetEmails);
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le code suivant :
ou
J'ai utilisé ce code et il fonctionne très bien pour moi.
Sont vos propriétés initialisé?
Si ils sont, vous devriez probablement être en mesure de réaliser ce que vous voulez par l'une de ces:
Si elles ne sont pas, vous devez les initialiser au moins
xlApp
propriétéApplication
objet que vous travaillez avec, et ensuite utiliser le code ci-dessus. Vous pouvez initialiser les deux premiers objets à l'aide du code ci-dessous.xlWorkbook.Sheets[1].Activate();
et il a parfaitement fonctionné.Voici ce que j'ai fait et ça marche!!!
Vous pouvez le faire de deux façons:
xlWorksheet = xlApp.Worksheets.get_Item(1);
xlWorksheet = xlApp.Worksheets[1];
xlWorkSheet = (Feuille de calcul)xlWorkBook.Les feuilles de calcul.get_Item(2);
OU
xlWorkSheet =(Feuille de calcul)xlWorkBook.Feuilles["SheetName"];