Hatena::Groupvb6

VB6メモ

[VB] [個人メモ] [仕事メモ] [アイデア] [Rubyの魔神]
[VB6クラス]
|

2016-05-20

VBS フォルダの再帰的検索

http://d.hatena.ne.jp/end0tknr/20120118/1326889962

Option Explicit


dim ff

set ff = new ClsFiles

ff.getFile("C:\temp")
dim item
for each item in ff.FileList
	WScript.echo item
next


class ClsFiles

	public FileList
	Dim objFSO          ' FileSystemObject

	Private Sub Class_Initialize()
		Set FileList = CreateObject("System.Collections.ArrayList")
		Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	End Sub


	public sub getFile(path)
		FindFolder objFSO.getFolder(path)
	end sub

	' フォルダ検索関数
	Sub FindFolder(ByVal objParentFolder)

		Dim objFile
		Dim resultLine
		For Each objFile In objParentFolder.Files
			FileList.add objFile.ParentFolder & "\" & objFile.Name
		    'FIND_RESULT_FILE_OBJ.Write(objFile.ParentFolder & "\" & objFile.Name & ",")
		    'FIND_RESULT_FILE_OBJ.Write(objFile.Size & ",") 'byte
		    'FIND_RESULT_FILE_OBJ.Write(objFile.DateLastModified & ",")
		    'FIND_RESULT_FILE_OBJ.Write(Fix(Date() - objFile.DateLastModified) & ",")
		    'FIND_RESULT_FILE_OBJ.Write(objFile.DateLastAccessed & ",")
		    'FIND_RESULT_FILE_OBJ.Write(Fix(Date() - objFile.DateLastAccessed))
		    'FIND_RESULT_FILE_OBJ.WriteLine("")
		Next

		Dim objSubFolder    ' サブフォルダ
		For Each objSubFolder In objParentFolder.SubFolders
		    FindFolder objSubFolder
		Next

	End Sub

end class

2016-05-17

VBS include

http://qiita.com/honeniq/items/88462b12d2244480026a

Include "Library.vbs"  ' 外部ファイル「Library.vbs」を取込み

Sub Include(ByVal strFile)
  Dim objFSO , objStream , strDir

  Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") 
  strDir = objFSO.GetFile(WScript.ScriptFullName).ParentFolder 

  Set objStream = objFSO.OpenTextFile(strDir & "\" & strFile, 1)

  ExecuteGlobal objStream.ReadAll() 
  objStream.Close 

  Set objStream = Nothing 
  Set objFSO = Nothing
End Sub

2016-05-13

VBS EXCEL操作

http://bonk.red/articles/Excel/index.html

' WScript.GetObjectを使ってブックを開いてデータを読む。
Set book = WScript.GetObject("Book1.xls")
Set sheet = book.WorkSheets.Item(1)
WScript.Echo sheet.Cells(1, 1).Text
book.Close()
WScript.Echo "Done."

2016-05-11

VBS フォルダ変更 chdir

http://okwave.jp/qa/q1250171.html

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.CurrentDirectory = "c:\xxx\yyy"

2016-05-10

VBS app.path 現在のフォルダを返す

msgbox(apppath)

function apppath
    dim fso
    set fso = createObject("Scripting.FileSystemObject")
    apppath = fso.getParentFolderName(WScript.ScriptFullName)
end function

VBS ファイル選択ダイアログ


msgbox(OpenFileDialog)

function OpenFileDialog

    Dim obj, filename
    Set obj = CreateObject("Excel.Application")
    filename = obj.GetOpenFilename("ALL File,*.*")
    obj.Quit
    Set obj = Nothing
    If filename <> False Then
          OpenFileDialog = filename
    End If

end function

VBS テキストファイル出力

http://wsh.style-mods.net/tips/wshtips_2-01.htm

Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.OpenTextFile("c:\a.txt", 1, False)

If Err.Number > 0 Then
    WScript.Echo "Open Error"
Else
    Do Until objFile.AtEndOfStream
        WScript.Echo objFile.ReadLine & vbCrLf
    Loop
End If

objFile.Close
Set objFile = Nothing
Set objFso = Nothing


'Scripting.FileSystemObjectはファイル操作をするオブジェクトです。
'OpenTextFileでファイルを開きます。
'第1パラメータ→ 必ず指定します。
'第2パラメータ→ 1:読み取り専用、2:書き込み専用、8:ファイルの最後に書き込み
'第3パラメータ→ True(規定値):新しいファイルを作成する、False:新しいファイルを作成しない
'第4パラメータ→ 0(規定値):ASCII ファイルとして開く、-1:Unicode ファイルとして開く、-2:システムの既定値で開く
'ReadLineでテキストファイルを読み込みます。
'Closeでファイルをクローズします。

VBS テキストファイル書込み

Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.OpenTextFile("c:\b.txt", 2, True)

If Err.Number > 0 Then
    WScript.Echo "Open Error"
Else
    objFile.WriteLine "書き込む文字列です。"
End If

objFile.Close
Set objFile = Nothing
Set objFso = Nothing

'Scripting.FileSystemObjectはファイル操作をするオブジェクトです。
'OpenTextFileでファイルを開きます。
'第1パラメータ→ 必ず指定します。
'第2パラメータ→ 1:読み取り専用、2:書き込み専用、8:ファイルの最後に書き込み
'第3パラメータ→ True(規定値):新しいファイルを作成する、False:新しいファイルを作成しない
'WriteLineでテキストファイルを書き込みます。
|