[Delphi] Wisselen van sheet in Excel

Pagina: 1
Acties:

  • PleXtor
  • Registratie: Maart 2000
  • Laatst online: 12-04-2025
Ik gebruik een sjabloon met 2 sheets. Nu open ik in delphi het hele sjabloon, maar hoe kan ik een sheet selecteren.

code:
1
2
3
4
  LCID := GetUserDefaultLCID;
  ExcelApp := TExcelApplication.Create(application);
  DocTemplate := 'd:\uren en declaratie.xlt';
  ExcelDoc := ExcelApp.Workbooks.add(DocTemplate, LCID);


dit is de code die ik gebruik. Als er maar 1 sheet in zit gaat het allemaal goed, maar zodra ik een 2e sheet toevoeg dan weet ik dus niet op welk sheet ik zit te werken. En krijg ik allemaal foutmeldingen als ik een veld (die ik een naam heb gegeven) wil benaderen. Weet iemand hoe ik dit in kan stellen?

  • Peetman
  • Registratie: Oktober 2001
  • Laatst online: 11:42

Peetman

Tjah....

Code is VB maar dat maakt voor het voorbeeld niet zoveel uit.

Visual Basic .NET:
1
ExcelDoc.Sheets(2).Select

Die 2 is de index, daar kan je ook de sheetnaam voor gebruiken

Je kan dan het sheet weer als volgt benaderen:
Visual Basic .NET:
1
ExcelDoc.ActiveSheet blabla

  • ArieProductions
  • Registratie: Januari 2002
  • Laatst online: 27-11-2024

"Quidquid latine dictum sit, altum videtur" (Whatever is said in Latin sounds profound)


  • PleXtor
  • Registratie: Maart 2000
  • Laatst online: 12-04-2025
Okay ik heb het uitgevonden hoe het moest. Heb het op de site gevonden. Voor mensen die het later nog een keer opzoek met de search geef ik hier even de oplossing:

code:
1
2
3
4
5
6
7
var
  WS : OleVariant; //worksheet


ExcelDoc := ExcelApp.Workbooks.add(DocTemplate, LCID);
WS := ExcelDoc.Worksheets.Item['sheetname'];
WS.Activate;