1. ホーム
  2. スクリプト・コラム
  3. 腹筋

vbsによるテキストループの読み込み

2022-01-17 19:26:04

テストは、ブラウジングのためのURLデータのバッチを読み取る必要があるため、実際には、QTP独自のテーブルを使用して、読み取るためのさまざまな方法を実現することができますが、テーブルへの必要性は、Excelを使用して保存されているので、スクリプトのこの部分を実行するには、Excelのインストールまたは対太マシンせずにマシンで、問題が発生しますので、不要なトラブル、URLデータを保存するtxtを使用します。

しかし、vbsは、読み込んだファイルの場所を設定する関数を提供していないようです(pythonが提供)、インターネットは利用可能なコードのこの作品を見つけられなかった、おそらく人々は基本的に私のためにそのような低レベルの必要性を持っていないそれは厄介rz ....しかし、それは固定されていたので、コードはメモに掲載される予定。実際には、コアは、テキストの最後の行を読み取るために発見され、その後、ファイルを再オープンすることができます。

コード

msgbox(GetIni("d://vbscript//config.txt"))
Function GetIni(strIniFilePath ) 
 Const ForReading = 1
 Const TriStateTrue = -2
 Dim myFso 
 Dim MyFile 
 Set myFso = CreateObject("Scripting.FileSystemObject")
 Set MyFile = myFso.OpenTextFile(strIniFilePath,ForReading,False,TriStateTrue)
   GetIni = MyFile.ReadLine()
   If MyFile.AtEndOfStream=True Then 
   		Set MyFile = Nothing 
   		Set MyFile = myFso.OpenTextFile(strIniFilePath,ForReading,False,TriStateTrue)
   End If 
 MyFile.Close
 Set MyFile = Nothing
 Set myFso = Nothing
End Function


config.txt

https://www.jb51.net

上記のコードは比較的単純で、データの1行目を取得するだけなので、設定ファイルの読み込みを実装する場合は以下のコードをお勧めします。

以下は、設定ファイルを読み込む関数です。
この関数は、以下の形式(.ini, .txt, .inf)の設定ファイルに対してのみ動作します。

[マーク1]です。
key1=key1value
key2=key2value
........
[マーク2】。]
キー1=キー1値
key2=key2value

コアコード

'************************************************************
'Function: Reads the value of a configuration file (.ini, .txt format) configuration item and returns the value
' Parameters: FilePath - the full path to the configuration file
' Mark - configuration start marker
' Key - the name of the configuration item to be retrieved
' Call method: Ret = GetConfig("d:\configure.ini","Computer","IP")
' Author:Tiger Xiao Supreme
'Date:2013-06-20
'************************************************************
Function GetConfig(FilePath,Mark,Key)
 Dim fso, Str_ReadLine
 Set fso = CreateObject("Scripting.FileSystemObject")
 'Determine if the configuration file exists
 If fso.FileExists(FilePath) Then
 'Initialize the configuration flag, default is not found
 Flag = 0
 'Open the configuration file
 Set ConfigFile = fso.opentextfile(FilePath, 1)
 'Loop through the file data lines
 Do
 Str_ReadLine = ConfigFile.
 WScript.Echo Str_ReadLine
 'Determine if the read line is empty
 If Str_ReadLine <> "" Then
 'Determine if the read line is the start marker of the configuration to be found
 If LCase(Trim(Str_ReadLine))="[" & Lcase(Mark) & "]" Then
 'Found configuration start flag
 Flag = 1 
 'Loop through the configuration items under the current configuration start flag until the required configuration item is found under the current configuration flag
 ' or exit when the next configuration start flag appears
 Do
 Str_ReadLine = ConfigFile.
 retNum = InStr(Str_ReadLine,"=")
 'Check if the configuration item read has an equal sign
 If retNum > 0 Then
 'Determine if the name of the configuration item is the required configuration item
 If Trim(LCase(Left(Str_ReadLine,retNum-1)))= Trim(LCase(Key)) Then
 'Get the data after the equal sign of the configuration item
 GetConfig = Trim(Right(Str_ReadLine,Len(Str_ReadLine)-retNum))
 'Exit Function when found
 Exit Function 
 End If
 End If
 'Determine if the current configuration item is the next start marker
 If (InStr(Str_ReadLine,"[")>0 And InStr(Str_ReadLine,"]")>0) Then
 'Flag the current configuration item to start flagging it for the next configuration
 Flag = 0
 'Exit Function
 Exit Function
 End If
 Loop Until (Flag = 0 Or ConfigFile.AtEndOfStream)
 End If
 End If 
 Loop Until ConfigFile.
 'Close the file
 ConfigFile.Close
 Set fso = Nothing
 Else
 'The file is not found, give a message
 MsgBox "Configuration file "&"[" & FilePath &"] does not exist, please check if the path is correct. "
 End If
End Function

インスタンスです。

d:\config.ini ファイルの [Computer2] にある IP エントリーの値を読み込む必要があり、その内容は以下の通りです。

[コンピュータ1】の場合]
コンピュータ名=Computer1
IP=192.168.1.1
[コンピュータ2】の場合]
コンピュータ名=Computer2
IP=192.168.1.2

上記の関数を使用して

IP = GetConfig("d:\configenvironment.ini","Computer2","IP")
Msgbox IP

さて、とりあえずはここまで。