30. september 2004 - 16:29Der er
23 kommentarer og 1 løsning
VBS Menu
Hej eXperter.
Jeg er tit ude for at jeg skal lave scripts hvor det kunne være smart hvis brugerne kunne tage nogle valg.
Det jeg har brug for er valg som ikke lige kan tages med Ja & Nej popup boksen.
Er det muligt at lave. Jeg forestiller mig 2 forskellige typer
1) Et valg med Radio Bokse eller ligende hvor der kun kan vælges 1
2) En boks hvor der take checkes flere valg af.
Hvordan laver man lige det. Jeg forestiller mig man måske kan bruge Internet Explorer eller ligende til at presentere det, men ved ikke rigtigt hvordan.
Ja, men her har du ikke nogen muligheder for at bruge et Markup language eller noget Windows Forms lib, her er du blot på en skrabet version af VB hvis man kan kalde det det.
Som sagt, så skal det ikke bruges på en WebSide, men jeg forestiller mig at man, som jeg allerede har skrevet, muligvis kunne presentere det i en Internet Explorer via. f.eks. forms. Men hvordan man umiddelbart får svarene tilbage i VBS scriptet fra Internet Explorer ved jeg ikke.
Ok .. Det er lidt ligemeget for mig hvordan du vil definere scriptet.
Nej det skal ikke ligge på en webserver. Ja det må gerne benytte I.E.
Hvad jeg laver er egentlig underordnet, men jeg kan da godt finde på et eksempel hvis du vil have det.
Ex: Scriptet skal åbne en browser og give mig følgende valg: Hvad vil du have til aftens mad? Nedenstående valg er Enten eller valg, altså Radio Buttons Radio_Valg 1: Fleskesteg Radio_Valg 2: Hakkebøf Radio_Valg 3: Pandekager
Hvilken slags tilbehør vil du have til? Nedenstående valg er Både og Valg, altså CheckBokse Chkbox_Valg 1: Ketchup Chkbox_Valg 2: Kartofler
Scriptet skal herefter skrive: Du valgte at få <VALG1> til aftensmad. Du har bedt om følgende tilbehør <Chkbox_VALG1> & <Chkbox_Valg2> .-------
OK, hvis dette er definitionen, så er løsningen nedenfor. Men du er nok ikke tilfreds for der mangler et par meget vigtige ting:
Scriptet skal åbne en browser ... Hvordan skal dette script afvikles? Scriptet skal herefter skrive ... Hvor skal scriptet skrive det?
Men indholdet i popupp'en er ellers her:
<HTML> <HEAD> <TITLE></TITLE> <SCRIPT LANGUAGE=javascript> <!-- function DisplayChoice(f){ strOut = ""; for (i=0;i<f.radio1.length;i++){ if (f.radio1[i].checked)strOut += "Du valgte at få " + f.radio1[i].value + " til aftensmad."; } if (f.Ketchup.checked || f.Kartofler.checked){ strOut += "<br>Du har bedt om følgende tilbehør: " if (f.Ketchup.checked){ strOut += "Ketchup"; } if (f.Kartofler.checked){ if (f.Ketchup.checked){ strOut += " & kartofler"; }else{ strOut += "Kartofler"; } } }
Du har oprettet spørgsmålet i kategorien VBScript, hvilket ikke giver mange spor. VBScript bruges jo en del steder, bla. i Office-programmerne, som makrosprog, men det kan jo også være vbs-filer det drejer sig om.
Forstår du ikke mit spørgsmål, eller skal det være en hemmelighed? :o)
do valg = inputbox(txt,"Cpr.nr. " & cpr ,,1,1) select case valg Case "s" 'til programmering Case "f" 'til programmering Case "o" 'til programmering Case "m" 'til programmering Case "v" 'til programmering Case "" msgbox"Du har valg at annullere, intet er foretaget" exit sub Case else 'til programmering end select loop
ldanielsen: Ok .. Vi snakker nok bare lidt forbi hinanden. Det skal bare køre som et helt almindeligt VBS Script. Altså som en fil f.eks. script.vbs (At dobbeltklikke)
nielsrs: Hmm Det er ikek tosset, jeg ville nu hellere have det i en browser, da det så er lidt mere fleksibelt, og man kan gøre det lidt pænere grafiks.
function DisplayChoice() set f = document.forms(0) set objRadio = f.elements("radio1") strOut = ""
for each r in objRadio if r.checked then strOut = strOut & "Du valgte at få " & r.value & " til aftensmad." end if next if f.Ketchup.checked or f.Kartofler.checked then strOut = strOut & "<br>Du har bedt om følgende tilbehør: " if f.Ketchup.checked then strOut = strOut & "Ketchup" end if if f.Kartofler.checked then if f.Ketchup.checked then strOut = strOut & " & kartofler" else strOut = strOut & "Kartofler" end if end if end if 'document.getElementById("Display").innerHTML = strOut document.write(strOut) end function
Jeg bruger selv i visse tilfælde et browservindue til at præsentere oplysninger. Du kan få et brudstykke af mit program. Jeg har dog ikke teknikken til at indsætte valgbokse eller lignende i selve browservinduet og kombinerer derfor browservinduet med en inputboks. Det hele er i et VBscript program.
Set objExplorer2 = CreateObject("InternetExplorer.Application")
objExplorer2.navigate "About:Blank" objExplorer2.ToolBar = 0 objExplorer2.StatusBar = 0 objExplorer2.Width=650 objExplorer2.Height = 160 objExplorer2.Left = 1 objExplorer2.Top = 1 objExplorer2.Visible = 1 Do while objExplorer2.busy loop objExplorer2.document.open objExplorer2.document.WriteLn "<HTML><HEAD>" objExplorer2.document.WriteLn "<TITLE>" objExplorer2.document.WriteLn "PBS-aftalenr.: " & pbs_aftale_nr objExplorer2.document.WriteLn "</TITLE></HEAD>" objExplorer2.document.WriteLn "<BODY>" for z = 1 to 4 objExplorer2.document.WriteLn titel(z) & " " & lin(z) for x = 1 to (15-len(trim(lin(z)))) objExplorer2.document.WriteLn " " next objExplorer2.document.WriteLn " " & tekst(z) objExplorer2.document.WriteLn "<br>" next objExplorer2.document.WriteLn "</BODY>" objExplorer2.document.WriteLn "</HTML>" autECLSession.autECLOIA.WaitForInputReady txt = "1 Slet IK ; fremtidige betalinger behandles" & chr(13) txt = txt & "2 Godkendelse uden sletning" & chr(13) & chr(13) txt = txt & "9 Intet foretages !! " & chr(13) txt = txt & " - posten godkendes ikke " & chr(13) txt = txt & " - makro går til næste post " & chr(13) txt = txt & " - udskriv evt. oplysningerne om posten og kør makroen igen senere " & chr(13) do valg_del1 = inputbox("Indtast valg ( 1, 2 eller 9)" & chr(13) & chr(13) & txt,"PBS knr " & pbs_kundenr,,9800,100) if valg_del1 = "1" then exit do if valg_del1 = "2" or valg_del1 = "9" then skift = 2 exit do end if if valg_del1 = "" then valg = msgbox ("Du har valgt at afslutte makroen, er det korrekt !!!!!",36) if valg = 6 then set styr = fso.CreateTextFile("c:\dobb.txt", True) styr.writeLine "slut" styr.close exit sub end if end if loop
nielsrs: Jeg tror du er inde på noget med det sidste indlæg der, men jeg kan ikke få det til at spille. Der kommer en mængde fejl, bl.a. brokker den sig over følgende linie
Jeg har valgt at køre med det andet svar fra nielsrs. Det kører 100%. Det er ikke browser integreret, men det løser opgaven.
Tak for det..
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.