情報処理論実習 - 兵庫教育大学|hyogo ... · •ドリトル •ひまわり ......

48
情報処理論実習 サンプルプログラムダウンロード先: http://www.life.hyogo_u.ac.jp/ina/WSH/xxx.vbs http://www.life.hyogo_u.ac.jp/ina/WSH/wsh.lzh [email protected] 2006年度後期

Upload: others

Post on 09-Nov-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

情報処理論実習サンプルプログラムダウンロード先:

http://www.life.hyogo_u.ac.jp/ina/WSH/xxx.vbshttp://www.life.hyogo_u.ac.jp/ina/WSH/wsh.lzh

[email protected]

2006年度後期

Page 2: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

2

スクリプト言語/マクロ言語いろいろ

日経ソフトウエア:「スクリプト言語まるごとブック」より

アプリ・マクロ•VBA•LotusScript•PlayRiteetc

ユニーク•Squeak•ドリトル•ひまわり/なでしこetc

汎用•Perl•Ruby•Pyson•Groovy•Awk•REXXetc

Web開発•JavaScript•PHP•Curletc

リスト処理•Lisp•Schemeetc

OS標準•WSH•AppleScript•バッチファイル•シェルスクリプトetc

ゲーム作成•HSP•吉里吉里/KAGetc

Page 3: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

3

何をやるのか

DOS窓(コマンドプロンプト)の活用についてVBScriptの活用

WSH(Windows Scripting Host)

Page 4: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

4

DOS窓(コンソール画面)の使い方

資料 dos_mado.doc 「DOS窓をもっと使おう」• 基本コマンド(helpコマンドで一覧と使い方が得られる)• バッチファイル(“バッチファイル入門”で検索してください)

1. @echo off2. date3. echo ファイル1:"%1"4. echo ファイル2:"%2"5. type %16. echo ほんとに実行してもいいですか?7. pause8. copy %1 %29. echo copy終了

• 標準入出力とリダイレクトdir > test.txt

filecopy.bat

使い方

c:¥>filecopy a.txt b.txt

Page 5: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

5

VBScriptの使用場面

VBScript

WSH:バッチ処理の作成

InternetExplorer:HTML内のスクリプト記述

IIS(Webサーバ):ASPの作成

Page 6: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

6

WSHとは

• Windows上でのさまざまな動作をスクリプト(VBScriptのプログラム)によってコントロールする仕組みを提供するもの

• スクリプトホストの種類– IE, IIS(Microsoft Internet Information Server)

• インタラクティブなWebページをHTML文書に組み込んで作成する

– WSH• Windowsデスクトップ上やMS-DOSプロンプトから直接実行できる。Windowsのバッチ処理と称される。

• 保存ファイルの拡張子は.vbs

Page 7: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

7

VBScriptによる記述WScript.shellオブジェクトの利用

ノートパッドとペイントを起動するVBS (014_test1.vbs)• Dim WshShell• Set WshShell=CreateObject("WScript.Shell")• WshShell.run "NOTEPAD.EXE"• WshShell.run "MSPAINT.EXE“VBScriptプログラムの実行方法ダブルクリックまたは[ファイルを指定して実行]、dos窓ではc:¥>cscript test1.vbs または

c:¥>wscript test1.vbs

Page 8: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

8

メッセージの表示

メッセージを画面に表示する 2種類(016_test.vbs)

• WScript.Echo ”おはようございます。”• MsgBox ”こんにちわ” & ”皆さん。”

文字や数字の連結には & を使う

コメントはremまたは’を使う

Page 9: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

9

入出力命令、変数,配列

• メッセージボックス表示msgbox 019_mb1.vbs

• メッセージの改行vbCRで改行 023_mkg2.vbs

• 変数利用dim変数名 025_hs1.vbs,025_hs2.vbs

• 配列dim配列名(サイズ)

• 入力ボックス表示inputboxで文字入力 028_ib3.vbs書式:inputbox ”メッセージ”,”タイトル”,”規定データ”

Page 10: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

10

四則演算と関数

• 四則演算の演算子+, -, *, / 037_ks3.vbs¥整数除算, Mod 余剰

• 関数– 端数処理 Int, Fix, Round

038_fc3.vbs,038_fc4.vbs– 文字処理 Left, Right, Mid, Rightb, Midb

040_mj1.vbs,040_mj2.vbs

Page 11: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

11

練習(標準体重の表示)

• BMI指数の計算表示BMI=体重(Kg)÷身長(m)÷身長(m)

キーボード(InputBox)から身長と体重を読み、標準体重(Kg)を計算し、現在体重と標準体重を羅列表示(MsgBox)してください。標準体重のBMIは22です。

参考:HTMLの場合の例:bmi.html

Page 12: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

12

実行順序の制御(条件分岐と繰返し)

• 分岐– if 条件式 then~end if 047_if1.vbs– if 条件式 then~else~end if 050_if2.vbs,052_if3.vbs条件式には不等号=, >, <, <=, >=, <>が使える

• 繰り返し– for~next 055_fn1.vbs– do while 条件式 ~ loop 059_dw1.vbs– do ~ loop while 条件式 060_dw2.vbs– 無限ループ Do ~Loop

• 強制終了– wscript.quit

Page 13: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

13

アプリケーションのコントロール

• OLEオートメーション対応アプリが対象(手続き)• アプリのオブジェクトの取得(をしてから使う)

– set 変数=wscript.createobject(”アプリケーション名”)(例)set objEX=wscript.createobject(”excel.application”)

set wshshell=wscript.createobject(”wscript.shell”)• プロパティを使う

– objEX.visible=TRUE• メソッドを使う

– objEX.workbooks.add069_ex1.vbs

Page 14: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

14

メッセージボックスの使い方

• MsgBoxの選択ボタン 073_km1.vbsmsgbox(“メッセージ”,ボタンの指定+表示記号の指定,“タイトル”) ボタンの指定 値 表示されるボタン

vbOK only 0 OKvbOK or vbOkCancel 1 OK,キャンセルvbAbortRetryIgnore 2 中止,再試行,無視vbYesNoCancel 3 はい,いいえ,キャンセルvbYesNo 4 はい,いいえvbRetryCancel 5 再試行,キャンセル表示記号の指定 値 表示される記号

+vbCritical 16 警告+vbQuestion 32 問合せ+vbExclamation 48 注意+vbInformation 64 情報

Page 15: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

15

メッセージボックスからの戻り値

• MsgBoxからのリターン値 074_km2.vbsボタン 値 定数

OK 1 vbOKCancel キャンセル 2 vbCancel中止 3 vbAbort再試行 4 vbRetry無視 5 vbIgnoreはい 6 vbYesいいえ 7 vbNo

Page 16: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

16

WshShellのPopUpメソッド3分岐以上SelectCase文

• WshShell.PopUp 077_pp2.vbs書式:WshShell.PopUp(”メッセージ”,時間の指定,”タイトル”,ボタンの指定)戻り値:MsgBoxと同じ

• 3通り以上分岐 Select~Case文079_sc1.vbsSelect Case 変数

Case 値1処理1

Case 値2処理2

Case 値3処理3

Case Else処理4

End Select

Page 17: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

17

乱数の発生

’サイコロの目1から6の乱数の発生randomizeDo

n=int(rnd*6+1)MsgBox n

Loop

intは小数以下切捨て整数化関数

Page 18: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

18

日付時刻の取得

• Date現在の日付を返す

• Time現在の時刻を返す

(使用例)

MsgBox ”今日は” & Date & ”で現在時刻は” & Time & ”です。”

Page 19: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

19

演習:圧縮してメール添付で送付してください

「じゃんけんプログラム」を作成しようポイント•じゃんけんはループ処理で繰り返し行う•InputBoxからグー、チョキ、パーの入力•計算機側は乱数でグー、チョキ、パー出力•両者の手を見て結果をMsgBoxで表示•両者の累積勝敗数も表示する•日付時刻と勝敗結果をファイル[kekka.txt]に追記書き込みで蓄積できるようにする。→24枚目の「ファイル出力(オープンと書き出し)」を参考にしてください。

Page 20: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

20

コレクションとFor eachループ

• コレクションとFor Each~Nextループ 082_fe1.vbs• コレクションとは、オブジェクト変数の集合体

[構文]for each 仮引数 in コレクション処理

next• ファイルシステムオブジェクトの取得

Set objFileSys = CreateObject("Scripting.FileSystemObject")• フォルダコレクションの取得

Set objFolder = objFileSys.GetFolder(InputPath)

Page 21: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

21

実行時パラメータ(引数)の授受

• 引数の受け渡し方 087_hi1.vbs(使い方)087_hi1.vbs 10 20 30

• 引数のコレクション Wscript.Arguments• 配列への引数取り込み 088_hi2.vbs

(使い方)088_hi2.vbs one two three• 引数の個別授受

– Wscript.Arguments(n) 089_hi3.vbs

Page 22: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

22

サブルーチン

サブルーチンの作り方

Sub サブルーチン名(引数1,引数2,…)処理

End Subサブルーチンの呼び出し方

call サブルーチン名(実引数1,実引数2,….)

091_sr1.vbs

Page 23: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

23

関数

関数の作り方

Function 関数名(引数1,引数2,…)処理

[関数名=…….] ‘省略可能End Function関数の呼び出し方

変数=関数名(実引数1,実引数2,….)

093_fc1.vbs

Page 24: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

24

ファイル出力(オープンと書き出し)

• ファイルへの書き込み 098_fw1.vbsファイルシステムオブジェクトの取得Set objFileSys = CreateObject("Scripting.FileSystemObject")

テキストファイルのオープンSet objFile = objFileSys.OpenTextFile(FileName,モード)

モード=2 上書き, モード=8 追加書きテキストファイルへの書き出し

objFile.Write ”文字列”objFile.WriteLine ”文字列”

テキストファイルのクローズobjFile.Close

Page 25: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

25

ファイル入力(オープンと読み込み)

• ファイルからの読み出し 102_fr1.vbsファイルシステムオブジェクトの取得Set objFileSys = CreateObject("Scripting.FileSystemObject")

テキストファイルのオープンSet objFile = objFileSys.OpenTextFile(FileName,モード)

モード=1 読み込みテキストファイルからの読み出し

objFile.Readlineテキストファイルのクローズ

objFile.Close

Page 26: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

26

プログラムサンプル• 起動メニュー 111_launch.vbs• 格言 114_kakugen.vbs• 環境変数一覧 127_showenv1.vbs• 環境変数一覧2 130_showenv2.vbs• 三つの扉 146_3taku.vbs• 二つの扉 151_2taku.vbs• イエス・ノークイズ 157_yesno.vbs• 入力速度測定 165_sokutei.vbs• 累計電卓 174_ruikei.vbs• 10進16進変換 179_conv1016.vbs• 10進数からの変換(184_oct_hex.vbs)• フォルダ内ファイル一覧 188_filelist.vbs

Page 27: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

27

サンプル(ファイルのコピー:14_test2.vbs)1. myFolder=InputBox("フォルダを指定",,"c:¥")2. If myFolder="" Then WScript.Quit3. myExt=InputBox("コピーするファイルの拡張子",,"doc")4. If myExt="" Then WScript.Quit5. NewFolder=InputBox("コピー先フォルダ",,"c:¥new")6. If NewFolder="" Then WScript.Quit7. Set FS=CreateObject("Scripting.FileSystemObject")8. Set objFolder=FS.GetFolder(myFolder)9. On Error Resume Next10. FS.CreateFolder(newFolder)11. intExt=len(myExt)12. Call CpFile(objFolder)

13. Sub CpFile(objFolder)14. For Each myFile In objFolder.Files15. If Right(myFile.Name,intExt)=myExt Then16. FS.CopyFile myFile, newFolder & "¥"17. End If18. Next19. For Each objSubFolder In objFolder.SubFolders20. Call CpFile(objSubFolder)21. Next22. End Sub

Page 28: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

28

まとめ、復習と発展

Page 29: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

29

WSHのオブジェクトWSHの登録名とバージョン表示1. wscript.Echo wscript.name,"Version",wscript.versionWshShellオブジェクトの作成1. Set WshShell=CreateObject("Wscript.Shell")Excelオブジェクトの作成1. set objxl=wscript.createobject("excel.application")2. objxl.visible=true3. objxl.workbooks.addWshArgumentsオブジェクト(コマンドライン引数の参照)1. set objargs=WScript.Arguments2. Wscript.Echo objargs(1)

(コマンドライン引数の数を表示)

1. set objargs=WScript.Arguments2. Wscript.Echo objargs.count

Page 30: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

30

WshShellオブジェクト特殊フォルダへのアクセス

• set wshshell=wscript.createobject("wscript.shell")• wscript.echo wshshell.specialfolders("templates")ポップアップと選択結果の値を表示

• set wshshell=wscript.createobject("wscript.shell")• yesno=wshshell.popup("このまま続けますか?",0,"確認",4)• wscript.echo yesnoメモ帳へのショートカット作成

• set wshshell=WScript.CreateObject("Wscript.Shell")• Set myShortcut=WshShell.CreateShortcut("メモ帳へのショートカッ

ト.lnk")• myShortcut.TargetPath="notepad"• myShortcut.IconLocation="notepad.exe,0"• myShortcut.Save()

Page 31: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

31

基本操作

ダイアログボックスの表示と値取得(110_dialogbox.vbs)1. 'ダイアログボックスの表示と値の取得2. dim wshshell,poprt3. set wshshell=wscript.createobject("wscript.shell")

4. poprt=wshshell.popup("ボタンを押してください",0,"テスト",1+32)

5. if poprt=1 then6. wscript.echo "[OK]ボタンが押されました。"7. else8. wscript.echo "[キャンセル]ボタンが押されました。"9. end if

Page 32: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

32

インプットボックスの表示と値の取得

1. ‘インプットボックスの表示と値の取得(114_inputbox1.vbs)2. dim intext3. intext=inputbox("文字を入力してください","テスト","ここに入力")4. wscript.echo intext

Page 33: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

33

1. インプットボックスを使ったショートカットの作成(115_inputbox2.vbs)2. 'インプットボックスの表示と値の取得3. 'ショートカットの作成4. dim wshshell,scname,TP,IL,mydesktop,myshortcut

5. scname=inputbox("ショートカットの名前を入力入力してください。","ショートカットの作成","test.vbsへのショートカット")

6. if scname="" then wscript.quit

7. TP=inputbox("起動するファイルのパスを入力してください","ショートカットの作成","c:¥sample¥test.vbs")

8. if TP="" then wscript.quit

9. IL=inputbox("アイコンの保存場所を入力してください","ショートカットの作成","c:¥sample¥test.ico")

10. set wshshell=wscript.createobject("wscript.shell")

11. mydesktop=wshshell.specialfolders("desktop")12. set myshortcut=wshshell.createshortcut(mydesktop & "¥" & scname & ".lnk")13. myshortcut.targetpath=TP14. myshortcut.iconlocation=IL15. myshortcut.save

Page 34: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

34

ショートカットを作る

1. ‘sampleショートカットとアイコンの作成(117_myshortcut.vbs)2. dim wshshell3. set wshshell=wscript.createobject("wscript.shell")4. dim myshortcut5. set

myshortcut=wshshell.createshortcut("c:¥windows¥temp¥test.vbsへのショートカット.lnk")

6. myshortcut.targetpath="c:¥sample¥test.vbs"7. myshortcut.iconlocation=“c:¥sample¥test.bmp“ ’サイズ45x458. myshortcut.save

メモ帳へのショートカットをデスクトップに作る(116_memo_shortcut.vbs)

Page 35: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

35

Webページショートカットの作成

1. ‘Webページショートカットの作成(118_webshortcut.vbs)2. dim wshshell

3. set wshshell=wscript.createobject("wscript.shell")

4. dim desktop,myshortcut5. mydesktop=wshshell.specialfolders("desktop")6. set myshortcut=wshshell.createshortcut(mydesktop & "¥兵教大へ

のショートカット.url")7. myshortcut.targetpath="http://www.hyogo-u.ac.jp"8. myshortcut.save

Page 36: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

36

右クリックメニューで「送る」に登録

1. ‘右クリックメニューで「送る」に登録(120_sendto.vbs)2. dim wshshell,mysendto,myshortcut

3. set wshshell=wscript.createobject("wscript.shell")

4. mysendto=wshshell.specialfolders("sendto")5. set myshortcut=wshshell.createshortcut(mysendto &

"¥メモ帳.lnk")6. myshortcut.targetpath="notepad"7. myshortcut.iconlocation="notepad.exe,0"8. myshortcut.save

Page 37: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

37

Excel,Word,IEの機能呼び出し

Page 38: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

38

1. ‘Excelの機能呼び出し(137_excel.vbs)2. dim myexcel3. set myexcel=wscript.createobject("excel.application")4. myexcel.visible=TRUE5. myexcel.workbooks.add

6. myexcel.caption="工程管理表"7. myexcel.columns(1).columnwidth=108. myexcel.columns(2).columnwidth=109. myexcel.columns(3).columnwidth=15

10. myexcel.cells(1,1).value="開始日"11. myexcel.cells(1,2).value="終了日"12. myexcel.cells(1,3).value="進行状況"

13. myexcel.range("A1:C1").select14. myexcel.selection.font.bold=TRUE15. myexcel.selection.font.colorindex=216. myexcel.selection.interior.colorindex=817. myexcel.selection.interior.pattern=1618. myexcel.cells(2,1).select

Page 39: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

39

1. ‘Excel表の自動作成と終了(139_excel2.vbs)2. dim myfolder,svfolder,svname3. myfolder=inputbox("調べるフォルダ","フォルダの情報","c:¥windows¥temp")4. svfolder=inputbox("結果をセーブするフォルダ","フォルダの情報","c:¥sample")5. svname=inputbox("情報を書き出すファイル名","フォルダの情報","tempfolder")6. dim myexcel,mybook,FS,objfolder,objfile7. set myexcel=wscript.createobject("excel.application")8. myexcel.visible=TRUE9. set mybook=myexcel.workbooks.add10. set FS=createobject("scripting.filesystemobject")11. set objfolder=FS.getfolder(myfolder)12. myexcel.cells(1,1).columnwidth=1513. myexcel.cells(1,2).columnwidth=1814. myexcel.cells(1,3).columnwidth=3515. myexcel.cells(1,1).value="ファイル名"16. myexcel.cells(1,2).value="最終更新日"17. myexcel.cells(1,3).value="パス"18. myrows=219. for each objfile in objfolder.files20. myexcel.cells(myrows,1).value=objfile.name21. myexcel.cells(myrows,2).value=objfile.DateLastAccessed22. myexcel.cells(myrows,3).value=objfile.path23. myrows=myrows+124. myexcel.cells(myrows,1).select25. next26. mybook.saveas(svfolder & "¥" & svname & ".xls")27. myexcel.quit

Page 40: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

40

Excel自動グラフ作成

1. ‘Excel自動グラフ作成(142_excel_graph.vbs)2. dim myexcel,mybook,mytitle,mychart

3. set myexcel=wscript.createobject("excel.application")4. set mybook=myexcel.workbooks.open("c:¥My Documents¥test.xls")

5. mytitle=myexcel.cells(1,1).value

6. myexcel.range("A2:D9").select7. set mychart=myexcel.charts.add()8. mychart.hastitle=TRUE9. mychart.charttitle.text=mytitle10. mychart.charttitle.font.size=1411. myexcel.visible=TRUE12. mychart.type=4

Page 41: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

41

グラフの種類とtype番号• 面 1

• 横棒 2

• 縦棒 3

• 折れ線 4

• 円 5

• 3D横棒 -4096

• 3D縦棒 -4100

• 3D折れ線 -4101

• 3D円 -4102

• 3D等高線 -4103

• レーダー -4151

• ドーナツ -4120

Page 42: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

42

スロットゲームを作って見よう

slot_test.vbs, slot.vbs

Page 43: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

43

Wordの起動と書式設定(144_word.vbs)

IEの起動と操作(147_ie.vbs)

Page 44: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

44

テキストの処理

新しいファイルの作成と操作(152_text.vbs)タイムスタンプ入りテキストの作成

(154_timestamp.vbs)報告書の書き込み(155_houkokusho.vbs)文字列の置換(157_mojichikan.vbs)

Page 45: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

45

ファイルとフォルダの操作

フォルダとサブフォルダ(160_folder.vbs)ファイル一覧作成(162_filelist.vbs)指定ファイルのコピー(164_filecopy.vbs)ファイル名の一括変更

(166_file_rename.vbs)フォルダ内テキストの一括置換

(168_folder_text_replace.vbs)

Page 46: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

46

データベースを操作(参考)

データベースへのアクセス(170_access_excel.vbs)

Page 47: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

47

WordとExcelを組み合わせる

174_word_excel.vbs

Page 48: 情報処理論実習 - 兵庫教育大学|Hyogo ... · •ドリトル •ひまわり ... •WSH •AppleScript •バッチファイル •シェルスクリプト etc ゲーム

48

自動的な処理(タスクスケジューラ)

1.コントロールパネルからタスクを開く

2.タスクの追加を開く

3.タスクウイザードに沿って設定

– 自動起動スクリプトの選択– 起動する日付単位を選択– IDとパスワードを入力– 実行する時間を設定