【发布时间】:2017-06-08 16:40:35
【问题描述】:
我有一些 txt 文件要导入 Excel。这些文件按日期分组。我在 Excel 中记录了宏,每次我必须将每个日期的文件路径更改为 ...\files(date)\filename.txt。这是宏:
Sub DataImport2()
'
' DataImport2 Macro
'
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;d:\testfiles\project1\20170528\filename.txt" _
, Destination:=Range("$A$2"))
' .CommandType = 0
.Name = "filename.txt"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
在自动化测试中,UFT 应在网页中选择一个日期,并将网页上的数据与该日期的文件中的数据进行比较。
问题是:如何将选择的日期从 UFT 传递到 Excel 并在 Excel 中用作文件路径?我想它应该看起来像
..."TEXT;d:\testfiles\project1\(uft-passed-date)\filename.txt" _...
也许如下传递变量可能有效,但从 Excel/宏方面我应该如何使用它们?
objExcel.Run "macroname", "params1", "param2"
我尝试将上述宏复制到 UFT,但它不起作用(一般错误)。 使用 UFT 12.52、IE11 和 Office 16。
【问题讨论】:
-
为您的子
DataImport2创建String变量以传递文件名。现在使用 UFT 从 GUI 中提取日期,然后使用 run your excel macro from UFT。 -
@ManishChristian in UFT 我有
vDate=Browser("").Page("").WebElement("").GetROProperty("")我可以以objExcel.Run "DataImport2", "vDate"的身份运行宏在Excel 中,宏如何获得它?录制的宏应该修改什么?谢谢) -
检查我的答案。
标签: excel automated-tests qtp vba