Announcement

Collapse
No announcement yet.

Link in Excel einfügen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Link in Excel einfügen

    Wie kann ich mit Hilfe der Delphi 5-schnittstellen 'ExcelApplication' oder 'Excelworkbook' einen Link
    auf eine Datei in eine Celle von Excel einfügen?
    Wer kann mir helfen???

    Danke

  • #2
    Hallo,

    bei derartigen Frage gehe ich immer so vor: <br>
    1. In EXCEL das Aufzeichnen eines Makros über den Makro-Recorder starten<br>
    2. Funktion "Hyperlink einfügen" von Hand aufrufen <br>
    3. Makrorecorder stoppen und das Makro anschauen:
    <pre>
    Sub ALinkTest()
    <font color="#9933CC">'</font>
    <font color="#9933CC">' ALinkTest Makro</font>
    <font color="#9933CC">' Makro am 30.08.2000 von Andreas Kosch aufgezeichnet</font>
    <font color="#9933CC">'</font>

    <font color="#9933CC">'</font>
    Range(&quot;B5&quot.Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
    &quot;http:<font color="#003399"><i>//www.entwickler.com;"</i></font>
    End Sub
    </pre>
    Der Makro-Recorder arbeitet bevorzugt mit den Objekten der Benutzerschnittstelle (wie Selection), so dass man später zur Optimierung auf die "unsichtbaren" Objekte wie zum Beispiel das Range-Objekt wechseln sollte. Mit den Servers-Komponenten von Delphi 5 sieht das dann so aus:
    <pre>
    <b>const</b>
    cXLS_FileName = <font color="#9933CC">'C:\Temp\LinkTest.xls'</font>;

    <b>procedure</b> TForm1.Button1Click(Sender: TObject);
    <b>var</b>
    FLCID : Integer;
    aRange : Range;
    <b>begin</b>
    FLCID := GetUserDefaultLCID;
    ExcelApplication1.Connect;
    ExcelApplication1.Visible[FLCID] := True;
    ExcelApplication1.UserControl := True;
    ExcelApplication1.Workbooks.Open(cXLS_FileName, False, False,
    EmptyParam,<font color="#9933CC">''</font>,False,False,EmptyParam,
    EmptyParam,false,false,EmptyParam,false,0);
    ExcelWorkbook1.ConnectTo(ExcelApplication1.ActiveW orkBook);
    ExcelWorksheet1.ConnectTo(
    ExcelWorkbook1.Sheets.Item[1] <b>as</b> _Worksheet);
    ExcelWorksheet1.Activate;
    aRange := ExcelWorksheet1.Range[<font color="#9933CC">'A1'</font>,<font color="#9933CC">'A1'</font>];
    ExcelWorksheet1.Hyperlinks.Add(aRange, <font color="#9933CC">'http://www.entwickler.com'</font>,
    EmptyParam, EmptyParam, EmptyParam);
    ShowMessage(<font color="#9933CC">'Fertig'</font>);
    ExcelWorksheet1.Disconnect;
    ExcelWorkbook1.Close(False);
    ExcelWorkbook1.Disconnect;
    ExcelApplication1.Quit;
    ExcelApplication1.Disconnect;
    <b>end</b>;
    </pre&gt

    Comment

    Working...
    X