Login | |
|
 |
Re: dependent drop down list - 7/6/2004 1:14:16 AM
|
|
 |
|
| |
frank_41
Posts: 4
Score: 0
Joined: 7/1/2004
From: Germany
Status: offline
|
Here is another example. It creates an html file with a listbox for a given number of entries and opens IE and reacts on the buttonsclick : <snippet> : myhtmlFile = createHtmlPage(arrEmails,numberOfMailEntries) checkForError "Error creating Htm Page" ,ExitWithError Dim myButtons,IEclosed Set oIE = WScript.CreateObject("InternetExplorer.Application","IEApp_") oIE.left=50 ' window position oIE.top = 120 ' and other properties oIE.height = 260 + 26*i oIE.width = 500 oIE.menubar = 0 ' no menu oIE.toolbar = 0 oIE.statusbar = 0 ' commented out, because it causes a corrupted window oIE.resizable = 0 ' disable resizing oIE.navigate myhtmlFile ' Form With oIE winWidth=.document.ParentWindow.screen.width winHeight=.document.ParentWindow.screen.height End With oIE.left=(winWidth- oIE.Width)/2 ' window position oIE.top =(winHeight - oIE.height)/2 ' and other properties ' Important: wait till MSIE is ready Do While (oIE.Busy) WScript.Sleep(20) Loop oIE.document.all.OkButton.OnClick=GetRef("DialogOK") oIE.document.all.SelAllButton.OnClick=GetRef("DialogSelAll") oIE.document.all.NoneButton.OnClick=GetRef("DialogNone") oIE.visible = TRUE ' keep visible IEclosed = FALSE myButtons = 0 Do While ( Not IEclosed ) ' Wait till OK button is clicked If oIE <> "" then If myButtons > 0 Then Exit do End If End if WScript.Sleep(20) Loop k=0 ReDim Preserve selectedEmails(k+1) If Not IEclosed then Set myForm = oIE.document.Forms("EmailForm") For j=0 To (i-1) If myButtons = 3 Then myForm.fRemark.options(j).selected = FALSE ElseIf myButtons = 2 Then myForm.fRemark.options(j).selected = TRUE End if isSelected = myForm.fRemark.options(j).selected If isSelected Then selectedEmails(k) = myForm.fRemark.options(j).text k=k+1 ReDim Preserve selectedEmails(k) End if next End if DeleteTempFile myhtmlFile ' For i=0 To k-1 ' SendNotesMail mailSubject,"",selectedEmails(i),mailText,FALSE ' Next For i=0 To k-1 If i=0 then MailList = selectedEmails(i) Else MailList = MailList&","&selectedEmails(i) End if Next ' MailList = """" & MailList & """" If Len(MailList) > 0 then SendNotesMail mailSubject,"",MailList,mailText,FALSE End If If IEclosed = FALSE And myButtons > 0 then oIE.Quit() End if Set oIE = Nothing WScript.Quit(0) ' End of Script ' Begin of Support functions Sub IEApp_onQuit() IEclosed = TRUE ' WScript.Quit(1) End Sub Sub DialogOK myButtons = 1 End Sub Sub DialogSelAll myButtons = 2 End Sub Sub DialogNone myButtons = 3 End Sub Sub checkForError(sErrText,Flag) Dim ErrStr If Err.Number > 0 Then ErrStr = "Error : 0x" & Hex(Err.Number) & vbCrLf ErrStr = ErrStr & Err.Description & vbCrLf WScript.Echo "An Error occured in " & WScript.Name & vbCrLf _ & sErrText & vbCrLf & ErrStrmailText If Flag = ExitWithError Then WScript.Quit(1) Else WScript.Quit(0) End If End If End Sub Sub ErrorExit(errTxt,errNumber) WScript.Echo errTxt WScript.Quit(errNumber) End Sub Function createHtmlPage(emailList,number) Dim filesys,htmFile,filename Dim path,i path = WScript.ScriptFullName path = Left(path, InstrRev(path, "\")) filename = CreateTempFile("htm") Set filesys = CreateObject("Scripting.FileSystemObject") checkForError "Couldn't access FileSystemObject",ExitWithError Set htmFile = filesys.CreateTextFile(filename,TRUE) checkForError "Can't open file " & filename,ExitWithError htmFile.Writeline("<html>") checkForError "Can't write to file " & filename,ExitWithError htmFile.Writeline(" ") htmFile.Writeline("<head>") htmFile.Writeline("<meta http-equiv=""Content-Type""") htmFile.Writeline("content=""text/html; charset=iso-8859-1"">") htmFile.Writeline("<title>Harvest Email Notification</title>") htmFile.Writeline("</head>") htmFile.Writeline(" ") htmFile.Writeline("<body bgcolor=""#C0C0C0"">") htmFile.Writeline("<script language=""VBScript""> ") htmFile.Writeline("<!--") htmFile.Writeline("Sub window_onload()") htmFile.Writeline("' Here we may initialize the form") htmFile.Writeline(" Set TheForm = Document.EmailForm") htmFile.Writeline("End Sub") htmFile.Writeline(" ") htmFile.Writeline("'-->") htmFile.Writeline("</script>") htmFile.Writeline(" ") htmFile.Writeline("<h3><FONT FACE=""Arial"">Email Notification</h3>") htmFile.Writeline("<h4>Please select one or more email recipients you want<br>") htmFile.Writeline("to inform from this action and click OK <br>") htmFile.Writeline("or one of the Buttons ""Select All"" or ""None""</h4>") htmFile.Writeline(" ") htmFile.Writeline("<hr>") htmFile.Writeline(" ") htmFile.Writeline(" <input type=""button"" ID=""SelAllButton"" name=""SelAllButton"" value=""Select All"">") htmFile.Writeline(" <input type=""button"" ID=""NoneButton"" name=""NoneButton"" value=""None""><br>") htmFile.Writeline("<form name=""EmailForm"">") htmFile.Writeline(" Email Recipients:<br> <SELECT size=""" & (number+1) & """ name=""fRemark"" multiple>") htmFile.Writeline(" <Option selected value = ""Email0"">" & emailList(0)& "</Option>") For i=1 To number htmFile.Writeline(" <Option value = ""Email"&i&""">"& emailList(i)& "</Option>") next htmFile.Writeline(" </SELECT></p>") htmFile.Writeline(" <input type=""button"" ID=""OkButton"" name=""OkButton"" value=""OK""><br>") htmFile.Writeline("</FONT></form>") htmFile.Writeline("</body>") htmFile.Writeline("</html>") checkForError "Error writing into filename " & filename ,ExitWithError htmFile.Close createHtmlPage = filename End Function : <End snippet>
|
|
| |
|
|
|
| |
|
|
 |
|
 |
|
|