Autor Beitrag
CB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 23



BeitragVerfasst: Do 11.07.02 09:56 
Hallo!

Ich möchte aus Delphi heraus den Titel eines Diagrammes ändern. 1. Wie komme ich an das richtiges Diagramm? (Per Namen? Überschrift?) 2. Wie kann ich von diesem Diagramm den Titel ändern? 3. Wie kann ich im Titel einen Zeilenumbruch einfügen? 4. Wie kann ich unterschiedliche Textgrößen und Textattribute (Fett, Kursiv, etc.) im Titel verwenden?

So...hoffe, dass mir jemand irgendwie helfen kann...bin über alle Antworten dankbar...

_________________
mfg\CB
Cashels
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 167



BeitragVerfasst: Do 11.07.02 10:18 
Hi,

am besten zu erzeugst in Excel ein Makro. Den erzeugten Code kannst du dann quasi einfach übernehmen in Delphi, nach Umschreiben in die Pascal Syntax. Um Zugriff auf die Excel Konstanten zu haben, solltest du vorher jedoch noch die "Microsoft Excel 10.0 Opbject Library" importieren (über Menü Projekt/Typbibliothek importieren), Die erzeugt Uni bindest du dann einfach in dein Programm ein.

Gruss,
Tom
CB Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 23



BeitragVerfasst: Do 11.07.02 10:42 
Ich benutze TExcelApplication, _WorkBook, sowie _WorkSheet. Damit sollte doch eigentlich alles funktionieren, oder? Das mit dem Code umschreiben scheint nicht zu funktionieren. Auf die entsprechenden Funktionen, die das Macro benutzt, kann ich von Delphi aus nicht zugreifen. (Weil es sie nicht gibt angeblich.)
Das Importieren funkioniert auch nicht. Ich bekomme mehrere Fehler, dass verschiedene Funktionen nicht definiert sind.

_________________
mfg\CB
Cashels
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 167



BeitragVerfasst: Do 11.07.02 11:40 
Ich hab hier mal ein Beispiel aus einer meiner Komponenten mit der ich z.B. ein Word Dokument ausdrucken kann, von Delphi gesteuert. Das Prinzip ist aber mit Excel das gleiche. Wichtig ist eben das Importieren der Excel Typbibliothek.

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
uses word_TLB ;  { Typbibliothek }

procedure TDBRTFReport.PrintReport ;
var
 W : variant ;
begin
     { Word öffnen und Dokument laden }
     W := CreateOleObject ('Word.Application') ;
     W.Visible := false ;
     W.Documents.open (FReport, False, True, False, '', '', False, '', '',wdOpenFormatAuto) ;

     { Drucken }
    W.ActivePrinter := FPrinter.Printername ;
    W.Options.UpdateFieldsAtPrint := False ;
    W.Options.UpdateLinksAtPrint := False ;
    W.Options.DefaultTray := FPrinter.Schacht ;   { Fachausgabe angeben }
    W.Options.PrintBackground := True ;
    W.Options.PrintProperties := False ;
    W.Options.PrintFieldCodes := False ;
    W.Options.PrintComments := False ;
    W.Options.PrintHiddenText := False ;
    W.Options.PrintDrawingObjects := True ;
    W.Options.PrintDraft := False ;
    W.Options.PrintReverse := False ;
    W.Options.MapPaperSize := True ;

    W.PrintOut (FileName:='',
                Range:=wdPrintAllDocument,
                Item:= wdPrintDocumentContent,
                Copies:=FPrinter.Kopien,            { Anzahl der kopien }
                Pages:=FPrinter.Seiten,
                PageType:=wdPrintAllPages,
                Collate:=True,
                Background:=false,  { WICHTIG !! }
                PrintToFile:=False,
                PrintZoomColumn:=0,
                PrintZoomRow:=0,
                PrintZoomPaperWidth:=0,
                PrintZoomPaperHeight:=0) ;

    W.Activedocument.Close (SaveChanges := false) ;
    W.Quit ;
end;
CB Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 23



BeitragVerfasst: Fr 12.07.02 08:19 
ausblenden Quelltext
1:
2:
3:
4:
excel := CreateOleObject('Excel.Application');
excel.WorkBooks.Open('C:\bla.xls');
excel.Sheets('bla').Select;
{...}


Bei dem letzten Befehl bekomme ich die Meldung "Member nicht gefunden.". Was heißt das? Das Datenblatt ist auf jedenfall in der xls Datei. Habe genau den Code vom Excel Makro übernommen.

_________________
mfg\CB
HaseKlopfer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: So 14.07.02 03:43 
ausblenden Quelltext
1:
2:
Excel.Sheets[1].select; // auswählen erste reiterseite
Excel.Sheets[1].name:='bla'; // benennen bla


lg,
j