VBSで作ったオブジェクト指向プログラミング体感用のウインドウ操作プログラムの紹介
VBS版のOOP教材第2弾のウインドウ操作プログラムです。
VBSでIEオブジェクトを創成し、位置や配色や表示文字を操る処理を記述しています。
10面のウインドウオブジェクトを表示した動作例画面(2番目のコード window_control2.vbs)
1本は初心者体験用のインタラクティブなプログラムで、もう1本は10のウインドウオブジェクトを連続して設定し表示させ閉じるプログラムです。
まず次のコードは、最初の8割がウインドウオブジェクトクラスの設定で、後の方2割ほどがInputBox()関数を介してウインドウインスタンスを操る部分です。
この操る部分を自由に記述すれば、IEオブジェクトですから、ブラウザロボット的な動作をさせるように拡張することもできます。
プログラム名 window_object1.vbs
' オブジェクト指向プログラミングモデル ウインドウクラス window_object1.vbs
Option Explicit
Class window_class
Private objIE
Private namae
Private hyoujibun
Private tate,iro,moji
' ウインドウクラスの実体時動作
Private Sub Class_Initialize
namae="窓1"
iro="lightgreen"
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = true
objIE.Top =50
objIE.Left = 100
objIE.Width = 300
objIE.Height = 200
objIE.Navigate("about:blank")
objIE.StatusBar = False
objIE.ToolBar = 0
objIE.Document.Write("<html><head><title>ウインドウ オブジェクト " & namae & "</title></head>")
objIE.Document.Write("<body bgcolor='" & iro & "'>")
objIE.Document.Write("<div id='div-id-1'></div><br>")
objIE.Document.Write("<div id='div-id-2'></div><br>")
objIE.Document.Write("<div id='div-id-3'></div><br>")
objIE.Document.Write("</body></html>")
End Sub
' ウインドウクラスの解放時動作
Private Sub Class_Terminate
MsgBox "ウインドウオブジェクト " & namae & " 解放",vbOKOnly+vbInformation,"ウインドウオブジェクト インスタンス " & namae
End Sub
' ウインドウクラスの名称指定
Public Sub set_namae(meisyou)
namae = meisyou
End Sub
' ウインドウクラスの名称獲得
Public Function get_namae()
get_namae = namae
End Function
' ウインドウ内文字埋め込み
Public Sub moji_hyouji(moji)
objIE.Document.getElementById("div-id-1").InnerText=moji
End Sub
' ウインドウ位置指定
Public Sub idou(x, y)
objIE.Left = x
objIE.Top = y
End Sub
' ウインドウのサイズ変更
Public Sub henkei(w,h)
objIE.Width=w
objIE.Height=h
End Sub
' 背景色指定
Public Sub ironuri(iro)
objIE.Document.bgColor = iro
End Sub
' ウインドウ情報表示
Public Sub jyouhou_hyouji()
MsgBox "ウインドウオブジェクト " & namae & " サイズ ",vbOKOnly+vbInformation,namae & " ウインドウ 情報"
End Sub
' ウインドウを閉じる
Public Sub tojiru()
objIE.Quit
End Sub
End Class
' ---------------------------------
' | ウインドウオブジェクトを操る |
' ---------------------------------
Dim hyoujibun
Dim w1, w2
Dim yoko,tate,haba,takasa,iro,moji
' ウインドウ w1を実体化
hyoujibun = "ウインドウ w1を実体化" & vbCr
MsgBox hyoujibun,vbOKOnly+vbInformation,"ウインドウオブジェクト インスタンス w1"
Set w1 = new window_class
' ウインドウオブジェクト ウインドウ1に名前をセット
hyoujibun = "ウインドウオブジェクト w1 に ウインドウ1と名付ける。" & vbCr
w1.set_namae("ウインドウ1")
iro=inputbox( "背景色は (#16進数表記も可)")
w1.ironuri(iro)
moji=inputbox( "表示したい文字を打ち込んで下さい。")
w1.moji_hyouji(moji)
haba=inputbox( "横幅は?")
takasa=inputbox( "高さは?")
w1.henkei haba,takasa
yoko=inputbox( "横位置は?")
tate=inputbox( "縦位置は?")
w1.idou yoko,tate
msgbox "ウインドウを閉じます。"
w1.tojiru()
Set w1 = Nothing
次のプログラムが、10個のウインドウを次々と表示し、閉じるプログラムです。
生徒にこのアニメーション的な展開を見せて、インスタンスを作り操る考え方を実感させる目的のコードです。
なお、閉じるのは10個のウインドウの内の6個だけ指定していますので、4つ残っても正常な動作です。
プログラム名 window_control2.vbs
' オブジェクト指向プログラミングモデル ウインドウクラス window_wontrol2.vbs
Option Explicit
Class window_class
Private objIE
Private namae
Private hyoujibun
Private tate,iro,moji
' ウインドウクラスの実体時動作
Private Sub Class_Initialize
namae="窓1"
iro="lightgreen"
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = true
objIE.Top =50
objIE.Left = 100
objIE.Width = 300
objIE.Height = 200
objIE.Navigate("about:blank")
objIE.StatusBar = False
objIE.ToolBar = 0
objIE.Document.Write("<html><head><title>ウインドウ オブジェクト " & namae & "</title></head>")
objIE.Document.Write("<body bgcolor='" & iro & "'>")
objIE.Document.Write("<div id='div-id-1'></div><br>")
objIE.Document.Write("<div id='div-id-2'></div><br>")
objIE.Document.Write("<div id='div-id-3'></div><br>")
objIE.Document.Write("</body></html>")
End Sub
' ウインドウクラスの解放時動作
Private Sub Class_Terminate
MsgBox "ウインドウオブジェクト " & namae & " 解放",vbOKOnly+vbInformation,"ウインドウオブジェクト インスタンス " & namae
End Sub
' ウインドウクラスの名称指定
Public Sub set_namae(meisyou)
namae = meisyou
End Sub
' ウインドウクラスの名称獲得
Public Function get_namae()
get_namae = namae
End Function
' ウインドウ内文字埋め込み
Public Sub moji_hyouji(moji)
objIE.Document.getElementById("div-id-1").InnerText=moji
End Sub
' ウインドウ位置指定
Public Sub idou(x, y)
objIE.Left = x
objIE.Top = y
End Sub
' ウインドウのサイズ変更
Public Sub henkei(w,h)
objIE.Width=w
objIE.Height=h
End Sub
' 背景色指定
Public Sub ironuri(iro)
objIE.Document.bgColor = iro
End Sub
' ウインドウ情報表示
Public Sub jyouhou_hyouji()
MsgBox "ウインドウオブジェクト " & namae & " サイズ ",vbOKOnly+vbInformation,namae & " ウインドウ 情報"
End Sub
' ウインドウを閉じる
Public Sub tojiru()
objIE.Quit
End Sub
End Class
' ---------------------------------
' | ウインドウオブジェクトを操る |
' ---------------------------------
Dim hyoujibun
Dim w1, w2, w3, w4, w5, w6, w7, w8, w9, w10
Dim yoko,tate,haba,takasa,iro,moji
' ウインドウ w1を実体化
hyoujibun = "ウインドウ w1を実体化" & vbCr
MsgBox hyoujibun,vbOKOnly+vbInformation,"ウインドウオブジェクト インスタンス w1"
Set w1 = new window_class
' ウインドウオブジェクト ウインドウ1に名前をセット
hyoujibun = "ウインドウオブジェクト w1 に ウインドウ1と名付ける。" & vbCr
w1.set_namae("ウインドウ1")
w1.idou 10,10
w1.moji_hyouji "草原"
Set w2 = new window_class
w2.set_namae("ウインドウ2 ")
w2.ironuri("white")
w2.moji_hyouji "電子計算機"
w2.idou 230,10
Set w3 = new window_class
w3.set_namae("ウインドウ3 ")
w3.ironuri("olive")
w3.moji_hyouji "うぐいすパン"
w3.idou 460,10
Set w4 = new window_class
w4.set_namae("ウインドウ4 ")
w4.ironuri("seagreen")
w4.moji_hyouji "サボテン"
w4.idou 690,10
Set w5 = new window_class
w5.set_namae("ウインドウ5 ")
w5.ironuri("indigo")
w5.moji_hyouji "蒼天"
w5.idou 10,250
Set w6 = new window_class
w6.set_namae("ウインドウ6 ")
w6.ironuri("purple")
w6.moji_hyouji "ラベンダー"
w6.idou 230,250
Set w7 = new window_class
w7.set_namae("ウインドウ7 ")
w7.ironuri("blue")
w7.moji_hyouji "ジーンズ"
w7.idou 460,250
Set w8 = new window_class
w8.set_namae("ウインドウ8 ")
w8.ironuri("pink")
w8.moji_hyouji "桜の花"
w8.idou 690,250
Set w9 = new window_class
w9.set_namae("ウインドウ9 ")
w9.ironuri("grey")
w9.moji_hyouji "灰色"
w9.idou 80,500
Set w10= new window_class
w10.set_namae("ウインドウ10")
w10.ironuri("yellow")
w10.moji_hyouji "卵焼き"
w10.idou 450,500
msgbox "ウインドウを閉じます。"
w1.tojiru()
w3.tojiru()
w5.tojiru()
w7.tojiru()
w9.tojiru()
w10.tojiru()
Set w1 = Nothing
Set w3 = Nothing
Set w5 = Nothing
Set w7 = Nothing
Set w9 = Nothing
Set w10 = Nothing
以上の2本のプログラムを配布し、後半部分を自由に書き換えさせて、インスタンスの作成とメソッドの働かせ方を指導し、オブジェクト指向プログラミングの概念を教えてきました。
Author And Source
この問題について(VBSで作ったオブジェクト指向プログラミング体感用のウインドウ操作プログラムの紹介), 我々は、より多くの情報をここで見つけました https://qiita.com/seastar3/items/95304175cabc6d1a128c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .