van textbox naar commandbutton

Status
Niet open voor verdere reacties.

thompieboy

Gebruiker
Lid geworden
11 okt 2009
Berichten
103
weet iemand een code als je in een textbox bijvoorbeeld google intypt en als je dat gedaan hebt ga je naar google als je op de commandbutton drukt ( ik weet wel hoe je met een commandbutton naar google gaat.) maar als je nog geen google ingetypt hebt, dat je dan ook niet naar google kan als je op de commandbutton drukt.
 
Simpel voorbeeld:

Code:
Private Sub CommandButton1_Click()
    If TextBox1.Value <> "" Then
        'In tekstbox1 staat dan bijvoorbeeld: [url]http://www.google.nl[/url]
        ThisWorkbook.FollowHyperlink Address:=TextBox1.Value
    End If
End Sub
 
Laatst bewerkt:
Code:
Private Sub CommandButton1_Click()
If TextBox1.Value <> "google" Then
Dim ie As Object
Set ie = CreateObject("INTERNETEXPLORER.APPLICATION")
ie.NAVIGATE "http://google.nl"
ie.Visible = True
While ie.busy
DoEvents
Wend
End If
End Sub

ik heb dit gedaan, alleen ook als ik niks invoer en ik druk op de commandbutton komt google er.
en ik wil niet dat je in de textbox het adres moet opschrijven, maar gewoon alleen google
 
Laatst bewerkt:
Klopt, want jij hebt er staan dat als er iets anders is ingetikt dan het woord google in kleine letters hij de code voor de button moet uitvoeren.
Ook een leeg veld is anders dan het woord google in kleine letters.
Maak er dan van:
Code:
If Lcase(TextBox1.Value) <> "google" and TextBox1.Value <> "" Then

of (beter)

Code:
If Lcase(TextBox1.Value) = "google" Then
 
Laatst bewerkt:
maar nu wil ik bijvoorbeeld ook naar wikipedia als je wikipedia intypt, nu heb ik dit gedaan maar als ik dan google of wikipedia intyp kom ik op google en wikipedia

Code:
Private Sub CommandButton1_Click()
If LCase(TextBox1.Value) <> LCase("") And TextBox1.Value <> "" Then
Dim ie As Object
Set ie = CreateObject("INTERNETEXPLORER.APPLICATION")
ie.NAVIGATE "http://google.nl"
ie.Visible = True
While ie.busy
DoEvents
Wend
End If
If LCase(TextBox1.Value) <> LCase("") And TextBox1.Value <> "" Then
Set ie = CreateObject("INTERNETEXPLORER.APPLICATION")
ie.NAVIGATE "http://wikipedia.nl"
ie.Visible = True
While ie.busy
DoEvents
Wend
End If
End Sub

(ik heb nog niet heel veel ervaring hoor)
 
Laatst bewerkt:
Dat geeft niet, ik ook niet dus kunnen we beide van leren ;)
Je hebt er nu staan dat ze beiden uitgevoerd moeten worden.
Probeer eens het volgende:

Code:
Private Sub CommandButton1_Click()
    Dim ie As Object

    If TextBox1.Value = "" Then Exit Sub

    Set ie = CreateObject("INTERNETEXPLORER.APPLICATION")

    Select Case Lcase(TextBox1.Value)
	case "google"
	    ie.NAVIGATE "http://google.nl"
	case "wikipedia"
	    ie.NAVIGATE "http://wikipedia.nl"
    End Select

    ie.Visible = True
    While ie.busy
	DoEvents
    Wend

    Set ie = Nothing
End Sub

Vergeet ook niet het aangemaakte object weer te verwijderen, zie laatste regel.
 
Laatst bewerkt:
hij geeft aan dat
Code:
Select Lcase(TextBox1.Value)
een syntaxisfout is
 
Laatst bewerkt:
En daar heeft 'ie helemaal gelijk in, typefoutje.
Ik heb de code aangepast in m'n vorige bericht.
 
ik heb hem nu zo

Code:
Private Sub CommandButton1_Click()
    Dim ie As Object
    Set ie = CreateObject("INTERNETEXPLORER.APPLICATION")
    Select Case (TextBox1.Value)
    Case "google"
        ie.NAVIGATE "http://google.nl"
    Case "wikipedia"
        ie.NAVIGATE "http://wikipedia.nl"
    End Select
    ie.Visible = True
    While ie.busy
    DoEvents
    Wend
End Sub

maar nu wil ik graag ook nog, als je dus geen google of geen wikipedia intypt en je drukt dan op de commandbutton, dat je dan MsgBox krijgt met een tekst. waar moet ik die in de code plaatsen? want als ik nu iets anders dan wikipedia of google intyp kom je op een lege internet pagina
 
Laatst bewerkt:
Ok, doet het dan zo:

Code:
Private Sub CommandButton1_Click()
    Dim ie As Object, adres As String

    Select Case LCase(TextBox1.Value)
        Case "google"
            adres =  "http://google.nl"
        Case "wikipedia"
            adres =  "http://wikipedia.nl"
        Case Else
            MsgBox "Geen geldige waarde ingevoerd.", vbExclamation
            Exit Sub
    End Select

    Set ie = CreateObject("INTERNETEXPLORER.APPLICATION")
    ie.NAVIGATE adres
    ie.Visible = True

    While ie.busy
        DoEvents
    Wend

    Set ie = Nothing

End Sub
 
Laatst bewerkt:
Zat een foutje in, nog iets aangepast.
Hij maakt nu alleen nog te vroeg het ie object aan.
 
Laatst bewerkt:
Hij is nog wat aangepast en maakt nu ook op het juiste moment het ie object aan.
 
Een andere aanpak, zonder Select Case
Code:
Private Sub CommandButton1_Click()
    Dim ie As Object, strng As String
    If TextBox1 = "" Then Exit Sub
    strng = "google|wikipedia"
    If InStr(strng, LCase(TextBox1.Text)) <> 1 Then MsgBox "Geen geldige waarde ingevoerd.", vbExclamation: Exit Sub
    
    Set ie = CreateObject("INTERNETEXPLORER.APPLICATION")
    ie.NAVIGATE "http://" & TextBox1.Text & ".nl"
    ie.Visible = True

    While ie.busy
        DoEvents
    Wend

    Set ie = Nothing

End Sub
 
Er zijn inderdaad meer wegen die naar Rome leiden :)
Leuk voorbeeld :thumb:
 
Beide voorbeelden, dus zowel die van Warme bakkertje als die van mij werken goed.
Kijk dus eens goed na wat je precies hebt gedaan. Krijg je wel een melding?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan