所以我使用的是扫描文本文档的公共函数。因为我要扫描多个文档,所以我想在测试中定义实际的文件路径和文件名,并调用公共函数。
以下是我的设置:
Public Function TextFind
Dim fso, textFile, rgxp, Regexp, contents, matches,VariableFilePath
Const ForReading = 1
Set fso = CreateObject( "Scripting.FileSystemObject" )
Set textFile = fso.OpenTextFile(VariableFilePath(), ForReading )
contents = textFile.ReadAll
textFile.Close
Set rgxp = New Regexp
rgxp.Pattern = chr(34) & "Test Testing Tested" & chr(34)
rgxp.IgnoreCase = False
rgxp.Global = True
Set matches = rgxp.Execute( contents )
If matches.Count = 500 Then
Print "Test Testing Tested: " & matches.Count
End If
End Function
以下是我试图发出的电话:
Option Explicit
Dim VariableFilePath
VariableFilePath = "C:\Users\ME\Documents\Testing\G1.txt"
Call TextFind
当我拨打电话时,我收到有关公共功能库中与VariableFilePath类型不匹配的错误。我该如何解决?注意:使用QTP 11.0。
谢谢!
答案 0 :(得分:0)
首先改变这个:
Set textFile = fso.OpenTextFile(VariableFilePath(), ForReading )
致:
Set textFile = fso.OpenTextFile(VariableFilePath, ForReading )
VariableFilePath是字符串 - 不是函数。并将VariableFilePath作为参数传递给TextFind。
编辑:丢弃TextFind函数中的VariableFilePath声明
嗯......没有上课的公共职能?