Entwickler-Ecke

Programmierwerkzeuge - Onlinehilfe zum download


rn22 - Sa 25.06.05 12:15
Titel: Onlinehilfe zum download
Hallo!

Ich greife beim Programmieren oft auf die Delphi-eigene Onlinehilfe zu. Die meisten Probleme lassen sich so schnell lösen.

Für einige mitgelieferte Komponenten (z.B. die meisten Ole-Komponenten) gibt es aber keine Hilfe.

Weiß jemand eine Seite, wo man die entsprechenden Dateien nachträglich downloaden kann, um sie dann zu integrieren?

thx


Moderiert von user profile iconGausi: Topic aus Sonstiges verschoben am Sa 25.06.2005 um 12:19


Keldorn - So 26.06.05 08:54

Hallo

Da gibt es keine hilfe. Für die ganzen MS-Office-komponenten kannst du dir die VB-Hilfe und den makrorecorder zu Hilfe nehmen, oder welche Komponenten meinst du genau?

Mfg Frank


rn22 - Fr 15.07.05 14:51

also ich mach das im Moment so:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure UebersichtDrucken;
var a,b: word;
     Excel: Variant;
    sum: real;
Begin
     sum:=0;
     Excel.Cells[1,1].Value:='Kassenbuch   '+Vereinsname;
     Excel.Cells[3,1].Value:='Haushaltsjahr '+Jahre[aktJahr].Name;
     Excel.Cells[4,1].Value:='Finanzübersicht';
     Excel.Cells[1,1].Font.Size:=16;
     Excel.Cells[3,1].Font.Size:=12;
     Excel.Cells[4,1].Font.Size:=12;

     Excel.Workbooks[1].WorkSheets[1].Columns[1].ColumnWidth:=40;
     Excel.Workbooks[1].WorkSheets[1].Columns[2].ColumnWidth:=15;
     Excel.Workbooks[1].WorkSheets[1].Columns[1].HorizontalAlignment := xlHAlignLeft;
     Excel.Workbooks[1].WorkSheets[1].Columns[2].HorizontalAlignment := xlHAlignRight;

//und so weiter...


leider musste ich die Syntax für die verschiedenen Aktionen mühsam aus dem Netz suchen, da es eben keine Sammlung mit Methoden u. Eigenschaften gibt.

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.


Christian S. - Fr 15.07.05 14:59

Hallo!

Entsprechende Hilfedateien liegen Office bei. Bei mir liegt die Hilfe zu den entsprechenden Objekten und Funktion für Excel z.B. in "C:\Programme\Microsoft Office\Office\1031\VBAXL9.CHM".

Grüße
Christian


Keldorn - Fr 15.07.05 18:25

wenn du probleme mit dem Syntac hast, dann nutzt den makrorecorder und zeichne deine Aktionen als Makro auf. gugg es dir in vb an und du hast schon mal die Befehle und benötigten Konstanten. Wenn du das ein paar mal gemacht hast, geht das mit dem Umsetzten zu delphi recht schnell, meist sind die ( durch [ zu ersetzen oder es gibt item-eigenschaften. Wenn du die Serverkomponenten nutzt, steht dir außerdem auch die codevervollständigung zu Verfügung.

Mfg Frank


rn22 - Mo 18.07.05 16:44

erstmal vielen Dank für die Tipps
-
leider hab ich keine Datei "VBAXL9.CHM" gefunden - auch nicht unter einem anderen Pfad.

Was den Excel-Makrorekorder angeht: Damit habe ich auch bereits gefriemelt, hat auch schon weitergeholfen. Aber wenn eben unter Delphi dann ein Fehler auftritt, steht man ziemlich hilflos da: :shock:
Beispiel:
ich möchte einige Zellen mit einem Rahmen umfassen. Folgenden Code hab ich dazu aus dem MakroRekorder kopiert:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(5).LineStyle:=-4142;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(6).LineStyle:=-4142;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(7).LineStyle:=1;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(7).Weight:=2;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(7).ColorIndex:=-4105;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(8).LineStyle:=1;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(8).Weight:=2;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(8).ColorIndex:=-4105;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(9).LineStyle:=1;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(9).Weight:=2;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(9).ColorIndex:=-4105;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(10).LineStyle:=1;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(10).Weight:=2;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(10).ColorIndex:=-4105;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(11).LineStyle:=1;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(11).Weight:=2;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(11).ColorIndex:=-4105;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(12).LineStyle:=1;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(12).Weight:=2;
     Excel.Range['A4', 'L'+IntToStr(b)].Borders(12).ColorIndex:=-4105;

Die Konstenten sind schon durch entsprechende Integers ersetzt.

Nun verursacht aber schon die erste Zeile eine Exception:
Klasse: EOleSysError , "Member nicht gefunden"

Werdet ihr da schlau draus? - ich werds nicht.

MfG
Mischa


Keldorn - Mo 18.07.05 18:15

bitte, bitte verwende die konstanten und schreib nicht -4142.

Was dein Problem angeht: für die Borders sollte du was hier im Forum finden. Ich bin mir nicht sicher, aber borders ist evtl keine direkte Eigenschaft von Range, sonder von der Selection.

edit: ansosnten, wie ich es schon unten geschrieben habe:

Delphi-Quelltext
1:
2:
3:
Range[...].Borders[12].ColorIndex:=-4105
oder
Range[...].Borders.item[12].ColorIndex:=-4105



Mfg Frank


rn22 - Do 21.07.05 21:52

Jetzt läufts - vielen Dank für die Hilfe! ':D'