User:Suriyaa/Scripts/savewatchlisttofile/code.vbs
'Author: Smallman12q (founder) & Suriyaa Kudo (modified) 'Date: Feb 21, 2012 & Jun 11, 2015 'Desc: Sample VBscript for logging into English wiki, saving watchlist to file, logging out, and closing IE 'Usability: This is a sample, tutorial script. It does not include error handling. 'URL: http://en.wikipedia.org/wiki/User:Smallman12q/VBS/Savewatchlist
Option Explicit
'''''''''''''''''''''User Set VariablesThese can be changed Dim user,userpass,watchlistfilename user = "Suriyaa Kudo" userpass = "" watchlistfilename = "Watchlist.txt" 'Will save to Desktop, Will overwrite file if it exists '''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''' 'Login Dim oIE Set oIE = CreateObject("InternetExplorer.application") With oIE
.Visible = True .Navigate ("https://en.wikipedia.org/w/index.php?title=Special:UserLogin")
End With Do Until oIE.ReadyState = 4 'readystate 4 = done loading
wscript.sleep 200
Loop With oIE.Document.forms("userlogin")
.wpName.Value = user .wpPassword.Value = userpass .submit
End With
'Wait 2 seconds to show user we've logged in WScript.Sleep 1000
'Go to raw watchlist oIE.Navigate ("https://en.wikipedia.org/wiki/Special:EditWatchlist/raw") Do Until oIE.ReadyState = 4 'readystate 4 = done loading
wscript.sleep 200
Loop
'Get Watchlist data Dim itm Set itm = oIE.document.getElementById("mw-input-wpTitles")
'Write data to file on desktop if NOT (itm is nothing) Then Dim oFSO, WriteData, desktop
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
Desktop= WSHShell.SpecialFolders("Desktop") Set oFSO = CreateObject("Scripting.FileSystemObject") Set WriteData = oFSO.CreateTextFile(desktop & "\" & watchlistfilename, true, true) 'Overwrite in Unicode WriteData.WriteLine(itm.Value) WriteData.Close
'To do: Clear out variables End If
'Ask if to logout If msgbox ("The Watchlist has been saved. Do you want to log out?", vbYesNo, "Logout Prompt") Then
'Logout oIE.Navigate ("https://en.wikipedia.org/w/index.php?title=Special:UserLogout") Do Until oIE.ReadyState = 4 'readystate 4 = done loading wscript.sleep 200 Loop
'Ask if to close window If msgbox ("You have been logged out. Would you like to close IE?", vbYesNo, "Close IE Prompt") Then oIE.Quit End if End if