ようこそゲストさんトップ最新の日記ユーザー登録ログインヘルプ CX's VBScript Diary <Visual Studio は VBScript 用の最強エデ VBScript 基礎文法最速マスター 11:50 VBScript の文法一覧です 他の言語をある程度

Similar documents


PowerPoint プレゼンテーション

ExcelVBA

sinfI2005_VBA.doc

Java講座

MS-ExcelVBA 基礎 (Visual Basic for Application)

PowerPoint プレゼンテーション

Microsoft PowerPoint - ruby_instruction.ppt


Microsoft Word - VBA基礎(3).docx

Microsoft Word _VBAProg1.docx

PowerPoint プレゼンテーション

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

Microsoft PowerPoint - vp演習課題

Microsoft Word - VBA基礎(6).docx

Microsoft PowerPoint - VBA解説1.ppt [互換モード]

print/echo を使います print "Hello World!"; echo "Hello World!"; デバッグには var_dump() をよく使います var_dump() では変数の内容が出力されます $array = array(1,2,3)

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

技術ノート KGTN

PowerPoint プレゼンテーション

プレポスト【問題】

メソッドのまとめ


ii Excel Excel IF IF IF VLOOKUP HLOOKUP IF VLOOKUP HLOOKUP ExcelVBA Excel Excel Excel Web p Excel Excel Excel

UIOUSBCOM.DLLコマンドリファレンス

Prog1_6th

コンピュータ概論

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

PowerPoint プレゼンテーション

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

02: 変数と標準入出力

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕


PowerPoint プレゼンテーション

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

memo

PowerPoint プレゼンテーション

02: 変数と標準入出力

コンピュータ概論

PowerPoint プレゼンテーション

PowerPoint Presentation

Si 知識情報処理

メソッドのまとめ

情報基礎A

Microsoft PowerPoint - prog03.ppt

回文作成支援プログラム

Microsoft PowerPoint pptx

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

単語の比較とスペルチェック COMPARA Word のテキスト内にある単語を抽出し 異なり語のリストを作成するプログラムです また Word のテキスト内の単語 ( または単語リスト ) を 先に作成した単語リストと照合して その異同を確かめます フォーム 単語リスト単語集計同語検索異語検索同語リ

Microsoft Word - Cプログラミング演習(12)

SOC Report

講習No.8

[Excelが自動化するVBAの魔法2]購入者限定テキスト

Prog1_10th

ファイル操作

Microsoft PowerPoint - CproNt02.ppt [互換モード]

ファイル入出力

Caché Basic に関するよくある質問

第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部

本チュートリアルについて 14 部構成 比較的簡単なトピックから 各回 プログラミング言語 任意 チュートリアルで 新しい内容 宿題 プログラミング演習 次の週 結果について発表 もしくは話し合いをする スライドは Python で Python, C++, Java, Perl についての質問い答

JavaプログラミングⅠ

1. 入力画面

Microsoft PowerPoint - 5Chap15.ppt

02: 変数と標準入出力

プログラミング入門1

Taro-ファイル処理(公開版).jtd

PowerPoint プレゼンテーション

TEXTOS-S: 検索 置換 連立検索置換式を使って 資料をマークし または変形します マークと 変形を同時にすることも可能です 検索式にはリテラル ( 文字列そのもの ) ワイルドカード 正規表現が選択できます 上のテキストボックスに検索式を直接書き込むときは [Ctrl]+[Enter] を押

Microsoft Word - ŁtŸ^‡S

45 VBA Fortran, Pascal, C Windows OS Excel VBA Visual Basic Excel VBA VBA Visual Basic For Application Microsoft Office Office Excel VBA VBA Excel Acc

プレポスト【解説】

Microsoft Word - 3new.doc

PowerPoint プレゼンテーション

02: 変数と標準入出力

テキスト処理第 2 回 田中哲産業技術総合研究所情報技術研究部門 akira/textprocess/

回文作成支援プログラム

プログラミング実習I

Microsoft PowerPoint - 計算機言語 第7回.ppt

JavaプログラミングⅠ

Microsoft Word - DF-Salford解説09.doc

PowerPoint プレゼンテーション

このルールをそのまま正規表現として書くと 下記のようになります ^A[0-9]{2}00[0-9]{3}([0-9]{2})?$ ちょっと難しく見えるかもしれませんが 下記のような対応になっています 最初 固定 年度 固定 通番 ( 枝番 ) 最後 ルール "A" 数字 2 桁 0 を 2 桁 数字

Microsoft Word - no103.docx

ブロック崩し風テニス

教科書原稿

ガイダンス

Microsoft Word - Training10_プリプロセッサ.docx

B 5 (2) VBA R / B 5 ( ) / 34

JavaプログラミングⅠ

PowerPoint プレゼンテーション

gengo1-11

Microsoft PowerPoint - prog06.ppt

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

ファイル操作-バイナリファイル

JavaプログラミングⅠ

gengo1-6

4-4- 基スクリプト言語に関する知識 コードの作成や修正が容易とされるスクリプト言語を学習し アプリケーション開発の手法を習得する 本カリキュラムでは まずスクリプト言語に位置づけされる Perl PHP Python JavaScript Ruby といった Ⅰ. 概要プログラミング言語の特徴に

方程式の解法

Transcription:

ようこそゲストさんトップ最新の日記ユーザー登録ログインヘルプ CX's VBScript Diary <Visual Studio は VBScript 用の最強エデ... 2010-01-31 VBScript 基礎文法最速マスター 11:50 VBScript の文法一覧です 他の言語をある程度知っている人はこれを読めば VBScript の基礎をマスターして VBScript を書くことができるようになっています 簡易リファレンスとしても利用できると思いますので これは足りないと思うものがあれば教えてください 1. 基礎変数宣言の強制ソースコードの先頭に Option Explicit を入れるようにしましょう 変数の宣言が強制されコードの品質も上がります Option Explicit メッセージの表示 WScript.Echo "Hello, VBScript World." ' コンソールにメッセージを出力します MsgBox "Hello, VBScript World." ' メッセージボックスにメッセージを表示します コメント コメントは ' を用います Rem も使用可能です ' コメントその 1 Rem コメントその 2 変数の宣言変数の宣言は Dim を用います 固定サイズ配列の場合は (10) のようにサイズを指定します サイズを指定しない場合は動的配列となります VBScript の変数自体はバリアント型 (Variant) で代入する値に応じて内部形が変化します Dim num ' 変数 Dim students(10) ' 配列変数 ( 配列は0~10となり要素数は11になります ) Dim students() ' 動的配列 スクリプトの実行 スクリプトを実行するにはコマンドラインで次のようにします CScript script.vbs

出力結果をファイルに書き出すにはリダイレクトを使います CScript script.vbs > file.txt デバッガの起動 デバッガを起動するにはコマンドラインで次のようにします ただし 事前に Visual Studio 等のデバッガがインストールされている必要があります CScript script.vbs //X 2. 数値 数値の表現 変数には整数でも小数でも代入できます 代入する値に応じて 変数の内部形が変化します num = 1 ' 整数型 (Integer) num = 1.234 ' 倍精度浮動小数点型 (Double) num = 1000000000 ' 長整数型 (Long) 四則演算 四則演算です num = 1 + 1 ' 2 num = 1-1 ' 0 num = 1 * 2 ' 2 num = 1 / 2 ' 0.5 商と余りの求め方です num = 3 \ 2 ' 1( 商 ) num = 3 Mod 2 ' 1( 余り ) インクリメントとデクリメント インクリメントとデクリメントです ' インクリメント i = i + 1 ' デクリメント i = i - 1 3. 文字列文字列の表現文字列は " ダブルクォーテーションで囲みます 変数にタブや改行コードをセットするには vbtab や vbcrlf を用います str1 = "abc"

str2 = "a" & vbtab & "bc" & vbcrlf 文字列操作 各種文字列操作です ' 結合 str1 = "aaa" & "bbb" ' 文字列の連結 str2 = Join( Array("aaa", "bbb", "ccc"), "," ) ' 区切り文字に, ( カンマ ) を指定する場合 ' 分割 record = Split("aaa,bbb,ccc", ",") ' 長さ length = Len("abcdef") ' 6 length = Len(" あいうえお ") ' 5( 文字数を数えるには Len 関数を使用します ) length = LenB(" あいうえお ") ' 10( 文字のバイト数を数えるには LenB 関数を使用します ) ' 切り出し str = Mid("abcd", 1, 2) ' ab(1 桁目から 2 文字 ) ' 検索 result = InStr("abcd", "cd") ' 見つかった場合はその位置 見つからなった場合は 0 が返り result = InStr(" あいうえお ", " うえ ") ' 3( 文字数で扱う場合は InStr 関数を使用します ) result = InStrB(" あいうえお ", " うえ ") ' 5( バイト数で扱う場合は InStrB 関数を使用します ) 4. 配列 配列変数の宣言と代入 固定サイズ配列として宣言する場合 Dim ary(2) ary(0) = 100 ary(1) = 200 ary(2) = 300 動的配列として宣言する場合 Dim ary() ReDim ary(2) ary(0) = 100 ary(1) = 200 ary(2) = 300 変数に Array 関数を使用して配列をセットする場合 Dim ary ary = Array( 100, 200, 300 ) 配列の要素の参照と代入

a = ary(0) ' 100 b = ary(1) ' 200 ary(0) = 1 ary(1) = 2 要素の個数 n = UBound(ary) - LBound(ary) + 1 ' 配列の上限 - 下限 配列の操作 Dim ary ary = Array( 1, 2, 3 ) ' 先頭を取り出す a = ary(0) ' a は 1 ' 末尾を取り出す b = ary(ubound(ary)) ' b は 3 ' 末尾に追加 ReDim Preserve ary(ubound(ary) + 1) ' 固定サイズ配列の場合は追加できません ary(ubound(ary)) = 9 ' ary は [1,2,3,9] に 5. Dic tionary オブジェクト VBScript にはハッシュ変数はありませんが Scripting.Dictionary オブジェクトを用いることで代替えが可能です Dic tionary オブジェクトの宣言と代入 Dim hash Set hash = CreateObject("Scripting.Dictionary") hash.add "a", 1 hash.add "b", 2 Dic tionary の要素の参照と代入 ' 要素の参照 WScript.Echo hash("a") ' 1 WScript.Echo hash("b") ' 2 ' 要素の代入 hash("a") = 5 hash("b") = 7 Dic tionary のプロパティとメソッド ' キーの取得 keys = hash.keys

' 値の取得 values = hash.items ' キーの存在確認 hash.exists("a") ' キーの削除 hash.remove "a" 6. 制御文 If 文 If 文です 1 行に書く形とブロック形の構文が利用できます If 条件 Then [Else ] ブロック形の If 文には End If が必要です If 条件 Then End If If ~ Else 文 If ~ Else 文です If 条件 Then Else End If If ~ Else If 文 If ~ ElseIf 文です Else If ではなく ElseIf である (Else と If の間に空白は入らない ) ことに注意しましょう If 条件 Then ElseIf 条件 Then End If Do ~ Loop 文 Do ~ Loop 文です Do While ~( 真の間ループ ) や Do Until ~( 真になるまでループ ) が利用できます i = 0 Do While i < 5 ' 処理

Loop i = i + 1 For 文 For 文です For i = 0 To 4 Next For Eac h 文 For Each 文です 配列やコレクションオブジェクトの各要素を参照するときに便利です For Each field In fields Next 7. サブルーチン Sub プロシージャ 戻り値を返さない処理は Sub プロシージャで定義します Sub show_sum( num1, num2 ) Dim total total = num1 + num2 WScript.Echo total End Sub Fu n c tion プロシージャ 戻り値を返す処理は Function プロシージャで定義します Function sum( num1, num2 ) Dim total total = num1 + num2 sum = total ' 戻り値を指定 End Function 8. ファイル入出力 VBScript でファイルの入出力を行うには Scripting.FileSystemObject オブジェクトを使用します Const ForReading = 1 Set fso = CreateObject("Scripting.FileSystemObject") Set file = fso.opentextfile("c:\temp\hoge.txt", ForReading) Do Until file.atendofstream strline = file.readline ' ファイルの1 行分を読み込みます Loop

file.close 9. 知っておいたほうがよい文法 VBScript でよく出てくる知っておいたほうがよい文法の一覧です オブジェクトの代入と破棄オブジェクト変数に代入する場合は Set 文を使用します Set fso = CreateObject("Scripting.FileSystemObject") オブジェクト変数を破棄する場合は Set 文で Nothing をセットします Set fso = Nothing Nu ll と Empty と Noth in g の違い Null 変数に有効な値が変数に格納されていないことを示します DB の Null 値に相当します Empty 変数が初期化されていない状態を表す値です 変数を宣言した直後はこの値です Nothing オブジェクト変数がオブジェクトを参照していない状態を表す値です VBScript の真偽値 VBScript で偽と判断される値は False 0 Null Empty "False" "0" です これ以外は真になります ByVal と ByRe f VBScript の引数には 値渡し (ByVal) と参照渡し (ByRef) があります 省略した場合は参照渡しになります Dim num1, num2, num3 num1 = 0 num2 = 0 num3 = 0 test num1, num2, num3 WScript.Echo num1 ' 1 WScript.Echo num2 ' 0 WScript.Echo num3 ' 3 Sub test( num1, ByVal num2, ByRef num3 ) num1 = 1 ' 参照渡しの為 値は更新されます num2 = 2 ' 値渡しの為 値は更新されません num3 = 3 ' 参照渡しの為 値は更新されます End Sub Wh ile ~ We n d 文 While ~ Wend 文です Do ~ Loop 文の方が柔軟性がありますが 覚えておいて損はありません i = 0 While i < 5

' 処理 Wend i = i + 1 コマンドライン引数 WScript.Arguments でコマンドラインの情報を取得できます また Arguments オブジェクトの Named プロパティを使用することで名前付き引数が利用可能です For i = 0 To WScript.Arguments.Count - 1 Next WScript.Echo WScript.Arguments(i) エラー処理 VBScript では 実行時にエラーがあると処理が停止します 処理を停止させず続行させる場合には On Error Resume Next を用います エラー内容は Err オブジェクトで判断します On Error Resume Next num = 1 / 0 ' 0 除算 WScript.Echo "Err.Source = [" & Err.Source & "]" ' Microsoft VBScript 実行時エラー WScript.Echo "Err.Description = [" & Err.Description & "]" ' 0 で除算しました WScript.Echo "Err.Number = [" & Err.Number & "]" ' 11 インタラクティブ VBScript WSH は残念ながら対話型シェルの機能はありませんが 以下の 10 行ほどのプログラムを用いることで VBScript を対話的に実行することができるようになります File : ivb.vbs Usage : CScript ivb.vbs Do While True WScript.StdOut.Write(">>> ") ln = Wscript.StdIn.ReadLine If LCase(Trim(ln)) = "exit" Then Exit Do On Error Resume Next Err.Clear Execute ln If Err.Number <> 0 Then WScript.Echo(Err.Description) On Error Goto 0 Loop コマンドラインより CScript ivb.vbs と入力することで実行できます 終了は exit です C:\Users\cx20\edu\VBScript\ivb>CScript ivb.vbs Microsoft (R) Windows Script Host Version 5.7 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

>>> WScript.Echo "Hello" Hello >>> WScript.Echo 1+1 2 >>> exit その他の基礎文法マスターこの記事は他の基本文法マスターに便乗して書いた物です 誤り等ございましたらコメント等して頂けると助かります Perl 基礎文法最速マスター - Perl 入門 ~サンプルコードによるPerl 入門 ~ Route 477 - Ruby 基礎文法最速マスター PHP 基礎文法最速マスター Shin x blog Python 基礎文法最速マスター - D++ のはまり日誌 Java 基礎文法最速マスター - 何かしらの言語による記述を解析する日記 VBA 基礎文法最速マスター - 何かしらの言語による記述を解析する日記 Brainf*ck 基礎文法最速マスター - 医者を志す妻を応援する夫の日記 Haskell 基礎文法最速マスター - think and error Bash 基礎文法最速マスター - 何かしらの言語による記述を解析する日記 VBScript 基礎文法最速マスター - CX's VBScript Diary - VBScript グループ JavaScript 基礎文法最速マスター - なんとなく日記 コメントを書く <Visual Studio は VBScript 用の最強エデ...