Set MyADOXC = CreateObject("ADOX.Catalog") MyADOXC.Create ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='jisho'") Set MyADOXC = Nothing Set MyDbCnn = CreateObject("ADODB.Connection") MyDbCnn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='jisho'") MyDbCnn.Execute ("CREATE TABLE tbl00(fld1 String, fld2 Memo)") MyDbCnn.Execute ("CREATE INDEX MyIDX ON tbl00(fld1)") MyDbCnn.Execute ("INSERT INTO tbl00 ( fld1, fld2 ) SELECT [sample#txt].fld1, [sample#txt].fld2 FROM sample#txt in '" & CreateObject("WScript.Shell").CurrentDirectory & "' 'Text;'") MyDbCnn.Close Set MyDbCnn = Nothing
Set MyADOXC = CreateObject("ADOX.Catalog") | データベース作成係の小人を召喚するおまじない。 |
MyADOXC.Create ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='jisho'") | "jisho"という名前でデータベースファイル作成(この時点ではまだ中身はからっぽ) |
Set MyADOXC = Nothing | もう用はないから小人はどっか行っちゃえ、のおまじない。 |
Set MyDbCnn = CreateObject("ADODB.Connection") | データベース接続係の小人を召喚するおまじない。 |
MyDbCnn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='jisho'") | "jisho"に接続(データベースに接続してはじめていろんなことができる) |
MyDbCnn.Execute ("CREATE TABLE tbl00(fld1 String, fld2 Memo)") | テーブルと呼ばれるデータの格納表作成。テーブル名は"tbl00"、列名は"fld1"と"fld2" |
MyDbCnn.Execute ("CREATE INDEX MyIDX ON tbl00(fld1)") | fld1の列にインデックス作成(インデックスつけると検索が速くなるという噂) |
MyDbCnn.Execute (" INSERT INTO tbl00 ( fld1, fld2 ) SELECT [sample#txt].fld1, [sample#txt].fld2 FROM sample#txt in '" & CreateObject("WScript.Shell").CurrentDirectory & "' 'Text;'") |
同じディレクトリ(フォルダ)中にあるsampleファイルからtbl00にデータ流し込み(fld1→fld1, fld2→fld2) |
MyDbCnn.Close | 接続解除 |
Set MyDbCnn = Nothing | もう用はないから小人はどっか行っちゃえ、のおまじない。 |
Option Explicit Dim MyADOXC, MyDbCnn Set MyADOXC = CreateObject("ADOX.Catalog") MyADOXC.Create ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='jisho'") Set MyADOXC = Nothing Set MyDbCnn = CreateObject("ADODB.Connection") MyDbCnn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='jisho'") MyDbCnn.Execute ("CREATE TABLE tbl00(fld1 String, fld2 Memo)") MyDbCnn.Execute ("CREATE INDEX MyIDX ON tbl00(fld1)") MyDbCnn.Execute ("INSERT INTO tbl00 ( fld1, fld2 ) SELECT [sample#txt].fld1, [sample#txt].fld2 FROM sample#txt in '" & CreateObject("WScript.Shell").CurrentDirectory & "' 'Text;'") MyDbCnn.Close Set MyDbCnn = Nothing
Option Explicit Dim MyWSHLL, MyFSO, MyADOXC, MyDbCnn Dim MyStrCurrDir Dim MyChkDB, MyChkSAMPLE Set MyWSHLL = CreateObject("WScript.Shell")'MyWSHLLと名づけた箱に、現在地取得係の小人を召喚 MyStrCurrDir = MyWSHLL.CurrentDirectory '箱の中の小人に教えてもらった現在地を、MyStrDirと名づけた箱に一時保管 Set MyWSHLL = Nothing '小人バイバイ Set MyFSO = CreateObject("Scripting.FileSystemObject") 'MyFSOと名づけた箱に、ファイル有無判別係の小人を召喚 MyChkDB = MyFSO.FileExists(MyStrCurrDir & "\jisho") 'この場所にjishoというファイルがあるかどうか、有無の結果を、MyChkDBと名づけた箱に一時保管 MyChkSAMPLE = MyFSO.FileExists(MyStrCurrDir & "\sample.txt") 'この場所にsample.txtというファイルがあるかどうか、有無の結果を、MyChkSAMPLEと名づけた箱に一時保管 Set MyFSO = Nothing '小人バイバイ If MyChkDB = True Then MsgBox "もう1回実験したいなら、そっちを消してから", vbOKOnly, "jishoファイルはすでにある" WScript.Quit 'プログラムはここで終了。この先は実行しない。 End If If MyChkSAMPLE = False Then MsgBox "sample.txtがない", vbOKOnly, "NG" WScript.Quit End If Set MyADOXC = CreateObject("ADOX.Catalog") MyADOXC.Create ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & MyStrCurrDir & "\jisho'") Set MyADOXC = Nothing Set MyDbCnn = CreateObject("ADODB.Connection") MyDbCnn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & MyStrCurrDir & "\jisho'") MyDbCnn.Execute ("CREATE TABLE tbl00(fld1 String, fld2 Memo)") MyDbCnn.Execute ("CREATE INDEX MyIDX ON tbl00(fld1)") MyDbCnn.Execute ("INSERT INTO tbl00 ( fld1, fld2 ) SELECT [sample#txt].fld1, [sample#txt].fld2 FROM sample#txt in '" & MyStrCurrDir & "' 'Text;'") MyDbCnn.Close Set MyDbCnn = Nothing
foo = 1 | これでfooという箱に1という数字が入ります |
foo = foo + 2 | fooという箱に元から入っている1に2が足され、3になります |
foo = foo & "a" | fooの中身の扱いは数字から文字に変わり、"3a"になります |
foo = 5 | "3a"の文字は押し出されて消滅、fooの中身は数字の5です |
foo = "b" | 5は押し出されて消滅、fooの中身は文字の"b"です |
foo = foo & "c" | 元から入っている"b"に"c"が足され、"bc"になります |
foo = foo + "d" | 元から入っている"bc"に"d"が足され、"bcd"になります |
foo = foo & 6 | 元から入っている"bcd"に"6"が足され、"bcd6"になります |
foo = foo + "7" | 元から入っている"bcd6"に"7"が足され、"bcd67"になります |
foo = foo + 8 | エラーになります(8を""でくくるか、+ を & に変えれば"bcd678") |
Option Explicit Dim MyWITCH Dim MyStrCurrDir Dim MyChkDB, MyChkSAMPLE Set MyWITCH = CreateObject("WScript.Shell") MyStrCurrDir = MyWITCH.CurrentDirectory Set MyWITCH = Nothing Set MyWITCH = CreateObject("Scripting.FileSystemObject") MyChkDB = MyWITCH.FileExists(MyStrCurrDir & "\jisho") MyChkSAMPLE = MyWITCH.FileExists(MyStrCurrDir & "\sample.txt") Set MyWITCH = Nothing If MyChkDB = True Then MsgBox "もう1回実験したいなら、そっちを消してから", vbOKOnly, "jishoファイルはすでにある" WScript.Quit End If If MyChkSAMPLE = False Then MsgBox "sample.txtがない", vbOKOnly, "NG" WScript.Quit End If Set MyWITCH = CreateObject("ADOX.Catalog") MyWITCH.Create ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & MyStrCurrDir & "\jisho'") Set MyWITCH = Nothing Set MyWITCH = CreateObject("ADODB.Connection") MyWITCH.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & MyStrCurrDir & "\jisho'") MyWITCH.Execute ("CREATE TABLE tbl00(fld1 String, fld2 Memo)") MyWITCH.Execute ("CREATE INDEX MyIDX ON tbl00(fld1)") MyWITCH.Execute ("INSERT INTO tbl00 ( fld1, fld2 ) SELECT [sample#txt].fld1, [sample#txt].fld2 FROM sample#txt in '" & MyStrCurrDir & "' 'Text;'") MyWITCH.Close Set MyWITCH = Nothing
Option Explicit Dim MyWITCH Dim MyStrCurrDir Dim MyChkDB, MyChkSAMPLE Set MyWITCH = CreateObject("WScript.Shell") MyStrCurrDir = MyWITCH.CurrentDirectory Set MyWITCH = Nothing Set MyWITCH = CreateObject("Scripting.FileSystemObject") MyChkDB = MyWITCH.FileExists(MyStrCurrDir & "\jisho") MyChkSAMPLE = MyWITCH.FileExists(MyStrCurrDir & "\sample.txt") Set MyWITCH = Nothing If MyChkDB = True Then MsgBox "もう1回実験したいなら、そっちを消してから", vbOKOnly, "jishoファイルはすでにある" WScript.Quit End If'この時点でMyChkDBは用済み If MyChkSAMPLE = False Then MsgBox "sample.txtがない", vbOKOnly, "NG" WScript.Quit End If '用済みになったMyChkDBに小人を召喚してしまう Set MyChkDB = CreateObject("ADOX.Catalog") MyChkDB.Create ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & MyStrCurrDir & "\jisho'") Set MyChkDB = Nothing Set MyChkDB = CreateObject("ADODB.Connection") MyChkDB.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & MyStrCurrDir & "\jisho'") MyChkDB.Execute ("CREATE TABLE tbl00(fld1 String, fld2 Memo)") MyChkDB.Execute ("CREATE INDEX MyIDX ON tbl00(fld1)") MyChkDB.Execute ("INSERT INTO tbl00 ( fld1, fld2 ) SELECT [sample#txt].fld1, [sample#txt].fld2 FROM sample#txt in '" & MyStrCurrDir & "' 'Text;'") MyChkDB.Close Set MyChkDB = Nothing