![]() |
Excel PivotTableWizard
Hallo,
weiß jemand wie man die Parameter an ActiveSheet.PivotTableWizard übergeben muß ? Habe es so probiert, geht aber leider nicht... :-(
Delphi-Quellcode:
FExcelWorksheet ist mein Worksheet, sXLSTemplateFile ist die XLS-Datei, Q_PTIFExcelWorksheet.PivotTableWizard(xlDatabase, '"'''+sXLSTemplateFile+' Q_PTI ''!R1C1:R'+inttostr(qu.recordcount+1)+'C'+ inttostr(qu.FieldCount)+'"'); ist meinen Register-Blatt wo die Daten für die Pivot-Tabelle sind! Danke im Voraus |
Re: Excel PivotTableWizard
Moin,
ich zumindest zeichne mir erst immer ein Macro auf und hole mir dann die benötigten Codesnippets raus...Solltes du auch mal zuvor versuchen. Falls ich dich da richtig verstanden habe |
Re: Excel PivotTableWizard
Hallo,
habe ich auch gemacht! geht aber nicht... :-( Danke |
Re: Excel PivotTableWizard
Moin,
versuch doch mal folgendes...
Delphi-Quellcode:
MfGuses OleServer, Excel2000; procedure TFMain.ButtonClick(Sender: TObject); var Excel:TExcelApplication; lcid, Zeile:integer; Workbook:_Workbook; Sheet:Variant; Zeiger:Variant; Spalte:char; begin Excel:=TExcelApplication.Create(Self); try lcid:=GetUserDefaultLCID; Excel.Connect; Excel.Visible[lcid] := true; Excel.UserControl:=true; Workbook:=Excel.Workbooks.Add(EmptyParam, lcid); Sheet:=Workbook.ActiveSheet; Zeiger:=IDispatch(Excel.Cells.Range['A1', 'A1']); Zeiger.Value:='Spalte1'; Zeiger:=IDispatch(Excel.Cells.Range['B1', 'B1']); Zeiger.Value:='Spalte2'; Zeiger:=IDispatch(Excel.Cells.Range['C1', 'C1']); Zeiger.Value:='Spalte3'; for Zeile:=2 to 10 do for Spalte:='A' to 'C' do begin Zeiger:=IDispatch(Excel.Cells.Range[Spalte+inttostr(Zeile), Spalte+inttostr(Zeile)]); Zeiger.Value:=random(10)+1; end; Sheet.PivotTableWizard(xlDatabase, IDispatch(Excel.Cells.Range['A1', 'C10'])); finally Excel.Disconnect; Excel.free; end; end; Thorsten |
Re: Excel PivotTableWizard
Hallo,
hat sich aber erledigt, so funktionniert es:
Delphi-Quellcode:
Danke trotzdem!
FExcelWorksheet.PivotTableWizard(xlDatabase,
aWorksheetSource+'!R1C1:R'+inttostr(qu.recordcount+1)+'C'+ inttostr(qu.FieldCount)); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz