Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Excel -> Hyperlink -> witz? (https://www.delphipraxis.net/161861-excel-hyperlink-witz.html)

t0mmy 25. Jul 2011 07:44

Excel -> Hyperlink -> witz?
 
Hallo?

Naja... ich versteh nicht warum ein code einen ganzen tag lang funktioniert und dann gehts am nächsten tag nimmer. -.-
Und zwar öffne ich Excel, suche mit folgendem Code einen hyperlink:

Delphi-Quellcode:
 try
 Excel.Workbooks.Open('K:\2011\1_Projekte\12_Tomi\Werkstattnummern_2011.xlsx'); //open the excel workbook
 if Excel.Range['I863', 'I863'].Hyperlinks.Count > 0 then //check if exist hyperlinks in the range
    pfad := Excel.Range['I863', 'I863'].Hyperlinks[1].Address;
    ShowMessage(Excel.Range['I863', 'I863'].Hyperlinks[1].Address); //show the hyperlink
 finally
    //
 end;
und dann möchte ich mit folgendem Code das Verzeichnis öffnen:

Delphi-Quellcode:
ShellExecute(0, 'open', PChar(pfad), nil, nil, SW_ShowNormal);
und es passiert nichts -.- ... das ist doch ein witz oder?

DeddyH 25. Jul 2011 08:38

AW: Excel -> Hyperlink -> witz?
 
Was steht denn in "pfad" drin?

[edit] Und was gibt ShellExecute zurück? [/edit]

t0mmy 25. Jul 2011 08:46

AW: Excel -> Hyperlink -> witz?
 
In pfad steht ../../../Pfad

Wie seh ich nach was ShellExecute zurückgibt?

Wenn ich in excel den Hyperlink anklicke dann öffnet er den Pfad

DeddyH 25. Jul 2011 08:51

AW: Excel -> Hyperlink -> witz?
 
Merk Dir doch den Rückgabewert von ShellExecute und lass ihn Dir ausgeben.
Delphi-Quellcode:
Wert := ShellExecute(...);
if Wert < 33 then
  ShowMessage('Fehler ' + IntToStr(Wert));

t0mmy 25. Jul 2011 08:59

AW: Excel -> Hyperlink -> witz?
 
Hi Danke!

Fehler 2 meldet er -.-

DeddyH 25. Jul 2011 09:03

AW: Excel -> Hyperlink -> witz?
 
Ich dachte mir schon, dass da 2 (File not found) oder 3 (Path not found) zurückkommt. Hast Du einmal versucht, die relativen Pfade in absolute umzuwandeln? Es wird ja versucht, vom aktuellen Arbeitsverzeichnis 3 Ebenen höher und dann in das angegebene Verzeichnis zu kommen. Wenn das Arbeitsverzeichnis also nicht stimmt, kann das nicht funktionieren.

t0mmy 25. Jul 2011 09:09

AW: Excel -> Hyperlink -> witz?
 
Naja.. ich habs mir eh schon gedacht weils ../../../ aber es hat letzte woche funktioniert... und wenn ich auf den hyperlink direkt im Excel-sheet klick öffnet ers auch..

DeddyH 25. Jul 2011 09:13

AW: Excel -> Hyperlink -> witz?
 
Was Excel macht, weiß ich nicht, jedenfalls können relative Pfade zu unerwarteten Ergebnissen führen, wie man hier wieder sieht. Das aktuelle Arbeitsverzeichnis kann ja z.B. durch einen OpenDialog o.ä. geändert worden sein. Wenn Dir jemand sagt: "Geh in den 4. Stock und klingel bei Zaphod Bebblebrox" funktioniert das ja auch nur, wenn Du in der Arthur-Dent-Str. 42 bist, in der Marvin-Allee 3 wird das wahrscheinlich nicht klappen.

t0mmy 25. Jul 2011 09:20

AW: Excel -> Hyperlink -> witz?
 
Okay, jetzt versteh ichs.. aber jedoch bekomme ich wenn ich in Excel die Hyperlinks ansehe.. bei allen eine relativen pfad.

DeddyH 25. Jul 2011 09:26

AW: Excel -> Hyperlink -> witz?
 
Wie gesagt: ich habe Excel nicht programmiert und weiß daher nicht, was dort bei relativen Pfaden gemacht wird. Anscheinend werden diese dort auch in absolute (ausgehend vom eigenen Verzeichnis der Datei) umgewandelt, aber das ist reine Spekulation meinerseits.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz