[Gelöst] Hyperlink aus Navision in Excel erstellen

12. Februar 2007 17:22

Einen schönen Gruß an alle Navision Developer aus dem schönen Weserbergland.
Ich bin vor ca. einer Stunde auf diese Seite gestoßen weil ich auf der Suche nach einer Antwort auf eine verhältnissmäßig leichte Frage bin:
Wie schaff ich es in Navision bei einem Export nach Excel einen Hyperlink zu erstellen?
Ihr könnt euch das so vorstellen (Beispielszenario) das ich eine Artikelliste erstelle und in einer Spalte dann ein Link erscheint, der mich direkt in Navision zu dem entsprechenden Artikel führt.
Ich weis bereits wie der Link aussehen soll und ich mache das ganze auch in einer Pivot Tabelle, was schon nicht einfach zu realisieren war. Jedoch verzweifle ich daran einen Hyperlink in Excel reinzuschreiben.
Ich bekomme bei meinen Versuchen die irrsten Fehlermeldungen:
Wenn ich die Funktion hyperlinks (mit add) aufrufe, sagt mir der Compiler, das ich der Funktion keine Variablen übergeben darf. Das ergibt sogesehen ja keinen Sinn.
Es würde mir im grunde reichen wenn mir jemand einen Ausschnitt von nem Code posten würde, bei dem das auch funktioniert.
Ich würde mich sehr über einen Denkansatz oder schubs in die richtige Richtung freuen. :)
Zuletzt geändert von ABerganski am 13. Februar 2007 11:43, insgesamt 1-mal geändert.

12. Februar 2007 17:38

Hallo ABerganski,

"Herzlich Wilkommen" hier im Forum.

Würdest du uns den Code Posten wie der Hyperlink erstellt wird, so währe es einfacher zu schauen, wo es "Hakt".
Gruß Mikka

12. Februar 2007 18:09

Sicher ;)

Also, so sieht das ganze vorher aus (Es wird nur die Nr. eingetragen)
Ich lasse den Teil davor und danach erstmal raus, weils schon ne ganze Menge ist, die da Programmiert wurde ;)
Wenn das aber essentiel zur aufklärung des Problems sein solle, poste ich das noch hinterher.

xlWorkSheet.Range(DefColumn(1) + FORMAT(RowNo)).Value := "Nr.";

Und anstatt des ".Value" sollte da jetzt soetwas hin wie ".Hyperlinks(Text der erscheint,eigentlicher Hyperlink)

12. Februar 2007 18:51

Ein einfacher Trick:
Wähle einen beliebigen Artikel auf der Artikelkarte aus und klicke auf
[Datei] -> [Senden] -> [Verknüpfung auf dem Desktop]
Anschließend erhältst du den korrekten Link zu dem spezifischen Artikel.

Ich habe das einfach mal für den Artikel '1000' in einer lokalen Cronus-Datenbank gemacht und bekam folgendes Ergebnis:
navision://client/run?database=c:\eigene%20dateien\dynamics\database.fdb&company=CRONUS%20AG&target=Form%2030&view=SORTING(Field1)&position=Field1=0(1000)&servertype=NAVISION
Hier die Erklärung:
navision://client/run?database=Datenbankname&company=Mandantenname&target=Form%20Form-ID&view=SORTING(Field1)&position=Field1=0(Artikelnr.)&servertype=NAVISION

13. Februar 2007 09:56

Jupp den Trick kenn ich ^^
Das Problem ist jetzt nur, wenn ich den Text als Value übergebe, schreibt er mir auch genau das als Text in das Feld rein.
Mein Ziel ist es aber, dass da dann nur die Artikelnr. steht, in dem Fall also die 1000 und diese dann den entsprechenden Link enthält.

Wenn ich das "Value" aber durch "Hyperlinks" ersetze:

xlWorkSheet.Range(DefColumn(1) + FORMAT(RowNo)).Hyperlinks:= "Nr.";

bekomme ich eine Fehlermeldung, das ich der Funktion max. 0 Variablen übergeben kann und das macht mich stutzig. Jedenfalls muss es so, oder so in der Art funktionieren. Es würde mir reichen zu wissen, wie man Excelfunktionen in Navision aufruft (Sowas wie Summe o.ä.). Da gibt es die Funktion Hyperlink nämlich auch.

13. Februar 2007 10:04

Hallo ABerganski,

ich weiß nicht, ob du schon in Excel geschaut hast.
Hier würde der Code so aussehen:

Code:
Range("E2").Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="Temp (D:)"

Ich habe in diesen Beispiel Feld E2 ausgewählt und einen Hyperlink auf meine Festplatte D: gemacht.
Wobei mir auffällt, das du vermutlich 1x den Wert zuweisen musst (also die Artikelnr.) und im nächsten Schritt den Hyperlink.
Gruß Mikka

13. Februar 2007 10:19

Ja so hab ich es auch schon probiert, jedoch hat Navision Schwierigkeiten mit dem "Add", weil dieses (so steht es in der Excel-Hilfe) auch wieder einen Wert zurück gibt. Da kommt dann die Fehlermeldung, das man einer Automation keinen Text zuweisen darf. (Typenkonvertierung)

Ich hab es jettz mal so eingegeben:
xlWorkSheet.Range(DefColumn(1) + FORMAT(RowNo)).Hyperlinks.Add('Hilfe','http://www.msdynamics.de');
Mal als Beispiel. Warscheinlich ist es nur ein banaler Syntaxfehler, aber so langsam glaube ich, das ich alle möglichen Buchstabenkombinationen bereits ausprobiert habe. :(
@mikka: Wie meinst du das mit den 2 Schritten?

13. Februar 2007 10:32

ABerganski hat geschrieben:@mikka: Wie meinst du das mit den 2 Schritten?


Eigentlich nur, das erst die Artikelnummer in die Zelle geschrieben werden muss.
Im nächsten Schritt den Hyperlink zuweisen.

Evtl. geht es auch zusammen bzw. genau anders rum,
also erst Formatieren und dann den Wert zuweisen.

Gruß Mikka

13. Februar 2007 10:43

Ach so. Ja das hab ich so noch nicht probiert.
Das mach ich doch mal ;)
...hey ich krieg mal ne neue Fehlermeldung :D
Gibt es hier ne möglichkeit Bilder zu importieren? Das Abzutippen würd n weilchen dauern.

13. Februar 2007 11:29

So ich habe es gefunden :-)
Code:
xlWorkSheet.Range('C'+FORMAT(z)).Value := '=HYPERLINK("http://www.web.de";1010)';

// =HYPERLINK("DEINE_URL";DEIN_WERT)';
// C steht für die Spalte
// z für den Zeilenzähler


Das ist der Syntax um einen Normalen Hyperlink einzufügen.
Ich denke, das dir das weiterhelfen sollte.
Gruß Mikka

13. Februar 2007 11:42

Und wie mir das weiterhilft!!!
Als ich gerad gesehen habe das es klappt bin ich vor freude hochgesprungen und alle hier haben mich dämlich angeguckt.
Ich glaube mein Grinsen krieg ich heute nicht mehr weg :) ;)
Vielen vielen recht herzlichen Dank!! :)

13. Februar 2007 11:57

Den Dank nehme ich gerne an 8-)

Es hatte mich auch Interessiert und so haben schliesslich alle hier im Forum etwas davon.
Fruß Mikka

Re: [Gelöst] Hyperlink aus Navision in Excel erstellen

6. Mai 2011 14:13

Hallo mikka,

da hatte ich gemeint, GENAU meine Lösung gefunden zu haben, da macht mir Excel einen Strich durch die Rechnung.

Windows 7 64 Bit
Navision: 2009 R2
Excel: 2007

Wenn ich genau den Hyperlink wie angegeben in Value übertrage erhalte ich die Meldung:
Das OLE Conrol oder der Automation Server gaben folgende Fehlermeldung zurück (HRESULT) -2147352567. Die Komponente verfügt über keine Ausnahmebeschreibung.

Lasse ich testweise das "=" vor dem HYPERLINK weg, so steht der restliche Text in Excel.

Kann mir da jemand helfen?

Gruß aus Bremen
werner28

Re: [Gelöst] Hyperlink aus Navision in Excel erstellen

6. Mai 2011 14:39

werner28 hat geschrieben:[...]
Wenn ich genau den Hyperlink wie angegeben in Value übertrage erhalte ich die Meldung:
Das OLE Conrol oder der Automation Server gaben folgende Fehlermeldung zurück (HRESULT) -2147352567. Die Komponente verfügt über keine Ausnahmebeschreibung.

Lasse ich testweise das "=" vor dem HYPERLINK weg, so steht der restliche Text in Excel.

Kann mir da jemand helfen?

Gruß aus Bremen
werner28


Hallo werner28,

ich habe es gerade nicht getestet, aber versuche mal (dem obigen Beispiel entsprechend) folgendes:

Code:
xlWorkSheet.Range('C'+FORMAT(z)).FormulaLocal := '=HYPERLINK("http://www.web.de";1010)';


mfg,
winfy

Re: [Gelöst] Hyperlink aus Navision in Excel erstellen

6. Mai 2011 14:44

Zeig doch mal die Code-Zeile. Offiziell funktioniert die Funktion HYPERLINK in Office 2007 noch (Beweis).

EDIT: Du könntest auch einfach mal versuchen dein Excel aufzumachen und den Hyperlink mit den gleichen Werten in eine Zelle zu schreiben.

Re: [Gelöst] Hyperlink aus Navision in Excel erstellen

6. Mai 2011 16:19

Und welche Automation verwendet du hier?

'Microsoft Excel xx.x Object Library' ?

mfg,
winfy