| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「FileSystemObject ファイルの編集出力」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
1行目: 1行目:
==FileSystemObject ファイルの編集出力==
+
==[[FileSystemObject ファイルの編集出力]]==
 
===ファイルを読み込み、書式編集して出力する===
 
===ファイルを読み込み、書式編集して出力する===
*FileSystemObject http://msdn.microsoft.com/ja-jp/library/cc409798.aspx
+
*[[FileSystemObject]] http://msdn.microsoft.com/ja-jp/library/cc409798.aspx
*VBScript 関数 http://msdn.microsoft.com/ja-jp/library/cc392480.aspx
+
*[[VBScript]] 関数 http://msdn.microsoft.com/ja-jp/library/cc392480.aspx
 
   
 
   
 
  Sub ColumnFormat()
 
  Sub ColumnFormat()
   IF WScript.Arguments.Count < 1 THEN
+
   IF [[WScript]].Arguments.Count < 1 THEN
       Call WScript.Echo("対象ファイルをドロップしてください")
+
       Call [[WScript]].Echo("対象ファイルをドロップしてください")
 
       Exit Sub
 
       Exit Sub
 
   END IF
 
   END IF
 
   
 
   
   Set fso = CreateObject("Scripting.FileSystemObject")
+
   Set fso = CreateObject("Scripting.[[FileSystemObject]]")
 
   
 
   
   srcFile = WScript.Arguments(0)
+
   srcFile = [[WScript]].Arguments(0)
 
   IF Not fso.FileExists(srcFile) Then
 
   IF Not fso.FileExists(srcFile) Then
       Call WScript.Echo("対象ファイルが存在しません。")
+
       Call [[WScript]].Echo("対象ファイルが存在しません。")
 
       Exit Sub
 
       Exit Sub
 
   End If
 
   End If
 
   dstFile = srcFile & ".formatted.txt"
 
   dstFile = srcFile & ".formatted.txt"
 
    
 
    
   Set inf  = fso.OpenTextFile(srcFile, 1)        '1:ForReading
+
   Set inf  = fso.OpenTextFile(srcFile, 1)        '1:For[[R]]eading
 
   Set outf = fso.OpenTextFile(dstFile, 2, True)  '2:ForWriting
 
   Set outf = fso.OpenTextFile(dstFile, 2, True)  '2:ForWriting
 
   
 
   
 
   output_count = 0
 
   output_count = 0
 
   Do While Not inf.AtEndOfLine
 
   Do While Not inf.AtEndOfLine
       line = inf.ReadLine()
+
       line = inf.[[R]]eadLine()
 
   
 
   
 
       'TABで区切られているデータを分割
 
       'TABで区切られているデータを分割
39行目: 39行目:
 
   Loop
 
   Loop
 
   
 
   
   Call WScript.Echo(output_count & "件処理しました。")
+
   Call [[WScript]].Echo(output_count & "件処理しました。")
 
  End Sub
 
  End Sub
 
   
 
   
 
  Call ColumnFormat()
 
  Call ColumnFormat()

2020年2月16日 (日) 04:25時点における最新版

FileSystemObject ファイルの編集出力

ファイルを読み込み、書式編集して出力する

Sub ColumnFormat()
 IF WScript.Arguments.Count < 1 THEN
     Call WScript.Echo("対象ファイルをドロップしてください")
     Exit Sub
 END IF

 Set fso = CreateObject("Scripting.FileSystemObject")

 srcFile = WScript.Arguments(0)
 IF Not fso.FileExists(srcFile) Then
     Call WScript.Echo("対象ファイルが存在しません。")
     Exit Sub
 End If
 dstFile = srcFile & ".formatted.txt"
 
 Set inf  = fso.OpenTextFile(srcFile, 1)        '1:ForReading
 Set outf = fso.OpenTextFile(dstFile, 2, True)  '2:ForWriting

 output_count = 0
 Do While Not inf.AtEndOfLine
     line = inf.ReadLine()

     'TABで区切られているデータを分割
     cols = Split(line, vbTab) 

     '桁数をそろえる
     cols(0) = Left(cols(0) & Space(10) ,10) 
     cols(1) = Left(cols(1) & Space(5)  , 5) 
     cols(2) = Left(cols(1) & Space(4)  , 4) 

     '出力
     outf.WriteLine(cols(0) & cols(1) & cols(2))
     output_count = output_count + 1
 Loop

 Call WScript.Echo(output_count & "件処理しました。")
End Sub

Call ColumnFormat()