Dateipfad per Klick öffnen
Moderator: Moderatoren
Dateipfad per Klick öffnen
Ich hoffe Ihr könnt mir irgendwie weiterhelfen, ich habe das Internet und dieses Forum schon rauf und runter gesucht und auch andere Versuche mit Base (libre Office) gemacht. Ich bin hier auch jemand der "Neu" ist und auch mit Datenbanken aber wenig Erfahrung hat.
Ich suche genau nach so einem Makro das es mir ermöglicht, ein Dateipfad in einer Datenbank per einfachen klick zu öffnen. Dieses Makro wo ich hier in diesem thread (Moderation: viewtopic.php?f=8&t=27000) entnommen habe funktioniert bei mir leider nicht, ich weiß aber nicht was ich falsch mache. Ich habe ein Formular erstellt in dem sich ein Dateipfad unteranderem befindet der mittels dieses Makros geöffnet wird. Genau so wie es hier beschrieben ist, oder ich habe unbewusst einen Fehler gemacht, wo ich momentan nicht sehe. Ich musste eine Abfrage in ein Formular einfügen, da es ja bei der Abfrage gar keine Möglichkeiten gibt, Daten mit Hyperlinks zu versehen. Das ist auch nicht das Problem, denn ich habe es auch mit einem normalen Formular versucht.
Welche Parameter muss ich im Makro selbst ändern ? Ich vermute mal dass ich in der oform = .... Zeile in den Anführungszeichen angeben muss nach welcher Zeichenkette gesucht werden soll ?
Ich habe mal einfach wie mein Vorgänger (Moderation: in diesem Thread viewtopic.php?f=8&t=27000) ein Screenshot erstellt und hochgeladen, ich hoffe daraus ergeben sich möglichst viele Informationen. Ich wäre sehr dankbar wenn Ihr mir weiterhelfen könntet, ich habe schon vieles versucht und gesucht und möchte diese Sache zum laufen bekommen.
PS: Sorry, musste einwenig zensieren...
Moderation:
Thema abgetrennt und nach OOo Basic und Java verschoben, wo alle Themen zur Basic-Programmierung hingehören.
lorbass, Moderator
Re: Feldtyp Hyperlink
Ach, ganz vergessen:
Ich arbeite mit Ubuntu und ich vermute dass es auch genau deshalb nicht funktioniert, da der Dateimanager (Dolphin z.B.) nicht angesprochen wird.
Wie man das aber hinbiegt, weiß ich nicht, würde ich aber gerne wissen. Wollte es hier auch noch als Information weitergeben, nicht dass auch andere Linux-User sich verwundern.
MFG
Ich arbeite mit Ubuntu und ich vermute dass es auch genau deshalb nicht funktioniert, da der Dateimanager (Dolphin z.B.) nicht angesprochen wird.
Wie man das aber hinbiegt, weiß ich nicht, würde ich aber gerne wissen. Wollte es hier auch noch als Information weitergeben, nicht dass auch andere Linux-User sich verwundern.
MFG
Re: Feldtyp Hyperlink
Hallo Kolräble,
etwas ungünstig, einen Trhead aus der Vergangenheit aufzurufen, der für den ursprünglichen Poster bereits gelöst war ...
Ich verweise einmal auf den Post viewtopic.php?f=8&t=27000#p115061
Es gibt in dem Makro zwei Änderungen, von denen eine ziemlich sicher für Dich in Frage kommt.
Rufe das Formular zum Bearbeiten auf. Rufe dann den Formularnavigator auf (Symbol an der unteren Bildschirmleiste, ca. 5. von links).
Du erhältst eine Übersicht über den Formularnamen und den Namen der einzelnen Felder.
Das Formular hat, wenn durch den Assistenten erstellt, den Namen "MainForm" - also nichts zu ändern.
Das Feld hat sicher nicht den Namen "txthyperlink" - entweder im Formular anpassen oder im Makro.
Die URL müsste mit file:/// beginnen. Ob das durch das Makro gewährleistet wird kann ich auswendig nicht sagen. Da hilft dann eine msgbox in dem Makro, die den entsprechenden Wert von
ConvertToUrl( oFeld.getString() ) anzeigt. Also vielleicht zum Überprüfen eine
msgbox ConvertToUrl( oFeld.getString() ) als vorletzte Zeile einfügen.
Der Dateimanager hat damit nichts zu tun. Das System öffnet eine Datei mit dem als erstes zugeordneten Programm. Bei mir z.B. bei *.pdf-Dateien Okular. Das ist in Linux, Windows und wohl auch MAC identisch.
Gruß
Robert
etwas ungünstig, einen Trhead aus der Vergangenheit aufzurufen, der für den ursprünglichen Poster bereits gelöst war ...
Ich verweise einmal auf den Post viewtopic.php?f=8&t=27000#p115061
Es gibt in dem Makro zwei Änderungen, von denen eine ziemlich sicher für Dich in Frage kommt.
Rufe das Formular zum Bearbeiten auf. Rufe dann den Formularnavigator auf (Symbol an der unteren Bildschirmleiste, ca. 5. von links).
Du erhältst eine Übersicht über den Formularnamen und den Namen der einzelnen Felder.
Das Formular hat, wenn durch den Assistenten erstellt, den Namen "MainForm" - also nichts zu ändern.
Das Feld hat sicher nicht den Namen "txthyperlink" - entweder im Formular anpassen oder im Makro.
Die URL müsste mit file:/// beginnen. Ob das durch das Makro gewährleistet wird kann ich auswendig nicht sagen. Da hilft dann eine msgbox in dem Makro, die den entsprechenden Wert von
ConvertToUrl( oFeld.getString() ) anzeigt. Also vielleicht zum Überprüfen eine
msgbox ConvertToUrl( oFeld.getString() ) als vorletzte Zeile einfügen.
Der Dateimanager hat damit nichts zu tun. Das System öffnet eine Datei mit dem als erstes zugeordneten Programm. Bei mir z.B. bei *.pdf-Dateien Okular. Das ist in Linux, Windows und wohl auch MAC identisch.
Gruß
Robert
Re: Dateipfad per Klick öffnen
Ja, es funktioniert, ich bin überglücklich 
Danke an Dich Robert, Moderation für verschieben an die richtige Stelle und natürlich auch an komma4, der vor Jahren das schon gepostet hat.
Irgendwie habe ich das Makro falsch verstanden, das unter "txthyperlink" der Name des Feldes reinkommt oder umgekehrt habe ich irgendwie falsch verstanden, obwohl (wie ich gerade sehe) der "Reinsteller" des Makros eindeutig erklärt hat. Nun ergänt mit dem, was im Thread viewtopic.php?f=8&t=27000#p115061 steht, sieht das funktionsfähige Makro so aus:
Nun ich habe noch zusätlich die letzte Zeile im Makro durch die funktionsfähige ausgetauscht und einen anderen Namen gegeben und in Anführungszeichen das geschrieben was gemeint ist. Da hab ich Dummi es auch richtig verstanden.
Die msgbox spuckt das aus: file:///home/konrad/hs_err_pid1665.log
Also, Robert hast du richtig vermutet. Die Datei was die msgbox auspuckt ist lediglich eine Versuchsdatei..
Noch zusätzlich finde ich es cool immer mehr von der BASIC Sprache zu erfahren, durch Dein Beispiel kann ich nun mehr Experimente machen, was in welchen Variablen drin steht. Danke auch dafür.
Hach, hier wird man ja wie ein König behandelt, super Forum, super Leute
MFG

Danke an Dich Robert, Moderation für verschieben an die richtige Stelle und natürlich auch an komma4, der vor Jahren das schon gepostet hat.
Irgendwie habe ich das Makro falsch verstanden, das unter "txthyperlink" der Name des Feldes reinkommt oder umgekehrt habe ich irgendwie falsch verstanden, obwohl (wie ich gerade sehe) der "Reinsteller" des Makros eindeutig erklärt hat. Nun ergänt mit dem, was im Thread viewtopic.php?f=8&t=27000#p115061 steht, sieht das funktionsfähige Makro so aus:
Code: Alles auswählen
sub oeffneLink
oForm = ThisComponent.Drawpage.Forms.getByName( "MainForm" )
oFeld = oForm.getByName( "Name des Feldes das den Hyperlink beherbergt" )
starten = createUnoService("com.sun.star.system.SystemShellExecute")
starten.execute( ConvertToUrl( oFeld.getText().getString() ), "", 0)
end sub
Die msgbox spuckt das aus: file:///home/konrad/hs_err_pid1665.log
Also, Robert hast du richtig vermutet. Die Datei was die msgbox auspuckt ist lediglich eine Versuchsdatei..
Noch zusätzlich finde ich es cool immer mehr von der BASIC Sprache zu erfahren, durch Dein Beispiel kann ich nun mehr Experimente machen, was in welchen Variablen drin steht. Danke auch dafür.
Hach, hier wird man ja wie ein König behandelt, super Forum, super Leute

MFG
Re: Dateipfad per Klick öffnen
Hallo nochmals,
kann man das Makro auch so ummodeln, dass es auch innerhalb einer Tabelle funktioniert ?
Also muss man ja irgendwo dann sagen welcher Hyperlink aus der Tabelle gewählt werden soll (also welcher Datensatz) und es sich dann öffnet...
MFG Kolräble...
kann man das Makro auch so ummodeln, dass es auch innerhalb einer Tabelle funktioniert ?
Also muss man ja irgendwo dann sagen welcher Hyperlink aus der Tabelle gewählt werden soll (also welcher Datensatz) und es sich dann öffnet...
MFG Kolräble...
Re: Dateipfad per Klick öffnen
Noch etwas für die, die mit Unterformulare Probleme haben:
in der Zeile kann man einfügen, wenn man mit Unterformulare arbeitet. Man hängt hinter "Forms." einfach den Hauptformularname (Standart ist immer MainForm) in dem dann das Unterformular gesucht werden soll. Klar, wenn man das nicht macht, kann das Makro dies nicht finden. In meinem Besipiel sieht das Makro nun so aus:
Habe viele Versuche benötigt um dies herauszufinden...
MFG Kolräble
in der Zeile
Code: Alles auswählen
oForm = ThisComponent.Drawpage.Forms.getByName( "MainForm" )
Code: Alles auswählen
sub Mietobjekte_oeffnen
oForm = ThisComponent.Drawpage.Forms.MainForm.getByName( "Mietobjekte" )
oFeld = oForm.getByName( "Mietvertrag Dateipfad" )
starten = createUnoService("com.sun.star.system.SystemShellExecute")
starten.execute( ConvertToUrl( oFeld.getText().getString() ), "", 0)
end sub
MFG Kolräble