vb: hyperlink in textbox (aus menüpunkt) ablgen

rihab79

Mitglied
hallo leute.
ich hoffe ihr könnt mir helfen:
folgendes Problem:
ich habe in meinem menü mehere menüpunkte, die man anklicken kann. bei einem ( ttis_click) soll sich eine textbox öffnen, in der ein hyperlink eingegeben werden kann, der in eine txt.datei abgelegt werden soll..
ich stehe grad voll auf dem schlauch und weiss nicht wie ich das anstellen soll. ich bin über jede hilfe dankbar!
 
Probier das mal aus:

Visual Basic:
Private Sub ttis_Click()
   Dim HyperLink As String
   
   HyperLink = InputBox("Geben sie einen Hyperlink ein", "Eingabe")
   ff = FreeFile
   Open <Pfad der Datei> For Append As #ff
      Write #ff, HyperLink
   Close #ff
End Sub

Ist das ungefär das, was du dir vorgestellt hast?
 
vielen lieben dank.
bevor ich es ausprobiere, wollte ich dir mal zeigen, was ich selber zusammengebastelt habe:
Code:
Private Sub Ttis_Click()
Dim prompt As Hyperlink
Dim ttis_hyperlink As Hyperlink
ttis_hyperlink = InputBox("Fügen Sie den Hyperlink für die TTIS-Anwendung ein!", "TTIS-Hyperlink")
prompt = ttis_hyperlink


Call schreibeDatei
End Sub
Code:
Sub schreibeDatei()
Dim prompt As String
prompt = App.Path + "\pfadname\pfad.txt":
Open prompt For Output As #1

Write #1, ttis_hyperlink
Close #1

hier gibt er mir nun die fehlermeldung:
laufzeitfehler 91: objektvariable oder with-blockvariable nicht festgelegt.
und wenn ich über den gelb-markieren code gehe, steht
ttis_hyperlink = "nothing"

leider kann ich mit der fehlermeldung noch nicht viel anfangen?! was bedeutet das nun für mich?
für was steht in deinem code eigentlich "freefile"
vielen vielen lieben dank !
 
FreeFile gibt dir die Zahl der geöffneten Dateien (open ...) plus 1 zurück.
Wenn man zum Beispiel eine Datei öffnet, während eine andere geöffnet ist, und diese mit dem selben "Namen" anspricht (z.B. #1), dann gibts probleme. Mit FreeFile kann das nicht passieren. :)
 
ok super, danke. das obige problem hat sich übrigens erübrigt.
ich hab nur noch eine frage:
mit
Code:
Shell (ttis_datei)
kann ich eine datei öffnen-
aber
Code:
Shell (ttis_hyperlink)
gibt er mir eine fehlermeldung. ich habe ja unter ttis_hyperlink den link einer seite gespeichert. diese seite möchte ich jetzt öffnen lassen, brauch ich hier einen anderen befehl als shell?
liebe grüße!
 
Um das zu bewerkstelligen, brauchst du die API ShellExecute.

Um diese zu nutzen musst du sie ersteinmal deklarieren:
Visual Basic:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Und so ruft man sie auf:

Visual Basic:
Call ShellExecute(hwnd, "open", ttis_hyperlink, "", "", vbNormalFocus)

Damit wird der Link im Standardbrowser geöffnet. :)

MfG
 
ich hab die deklaration jetzt so eingegeben wir du es mir vorgegeben hast, aber er gibt mir folgende fehlermeldung:
"Fehler beim Komplieren: erwartet: zeilennummer oder sprungmarke oder anweisung oder anweisungsende"
und markiert dabei in jeder zeile "ByVal"

was heisst das?
 
nicht versehentlich, ich hatte sie gelöscht um herumzu experimentieren...
mit den unterstrichen am ende markiert er mir die klammer vor ByVal und schreibt "erwarter:anweisungsende"
so siehts aus bei mir, eigentlich wie bei dir, aber vielleicht übersehe ich ja etwas:
Code:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" () _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

ich finde das echt super, das man so viel hilfe bekommt.. wirklich super
 
Da haben sich zwei Klammern eingeschlichen ;)

Visual Basic:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" () _  'Die Klammern müssen hier entfernt werden ;)
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
 

Neue Beiträge

Zurück