Seite 1 von 1

Selektierung/Aktivierung von Arbeitsblättern

Verfasst: 3. Juli 2008 16:21
von lape
Ich möchte Daten von Dynamics per Automation Server an Excel übergeben.
Dazu habe ich Folgende globale Variablen deklariert.

N
ame DataType Subtype Length
Excel Automation 'Microsoft Excel 11.0 Object Library'.Application
Book Automation 'Microsoft Excel 11.0 Object Library'.Workbook
Range Automation 'Microsoft Excel 11.0 Object Library'.Range
Sheet Automation 'Microsoft Excel 11.0 Object Library'.Worksheet
Chart Automation 'Microsoft Excel 11.0 Object Library'.Chart

...

Nun erstelle ich ein Excel Dokument mit mehreren Arbeitsblättern.

Code:
CREATE(Excel);
Excel.Visible(TRUE);
Book := Excel.Workbooks.Add(-4167);

Sheet:=Book.Sheets.Add;
Sheet.Name := 'Blatt1';
Sheet:=Book.Sheets.Add;
Sheet.Name := 'Blatt2';
...


Wie kann ich nun die einzelnen Arbeitsblätter selektieren, um Daten zu übergeben?
(Prinzipiell wie folgt:)

Code:
Sheet('Blatt2').Activate;
Sheet.Range('A1').Value := 'test';
Sheet('Blatt1').Activate;
Sheet.Range('A1').Value := 'test2';
Sheet('Blatt5').Activate;
Sheet.Range('A1').Value := 'test3';

Verfasst: 3. Juli 2008 18:52
von FraMi
Hallo Dennis,
das Vereinbaren der Blätter ist OK. Das Selectieren ... ist nicht richtig.

Mache es wie folgt:
Sheet := Book.Sheets.Item('Blatt1');
Sheet.Activate;
Range := Sheet.Range('A1');
Range.Value := 'Test1';
Und das analog für Blatt2 und Blatt3
Nur ein Hinweis: Du hast für die Bezeichnung der Variablen Worte genommen, die schon von EXCEL verwendet werden (z.B. Range) und das kann es unter Umständen Probleme geben.

Viel Spaß beim Aufruf von EXCEL aus Navision.
Gruß
Frank