我在Excel表格中有一个数字列表。对我来说唯一有趣的事情是在B栏。
我正在使用以下代码从该工作表中检索数据:
xlDown := -4121
fileselectfile, path
oExcel := ComObjCreate("Excel.Application") ;create a handle to a new excel application
oExcel.Visible := True ; by default excel sheets are invisible use true to see excel
oWorkBook := oExcel.Workbooks.open(path)
End := oExcel.Range("B1").End(xlDown).row
;Range_B := oExcel.Range("B1:B" . End) <--- would be good, but stops at every empty lines
Range_B := oExcel.Range("B1:B100") <--- I'm using this as my list is never longer than 100 entries
for cell in Range_B
CONList .= cell.text "|"
GuiControl,, CONListVar, %CONList%
return
本专栏中有3种类型的数据,我只对其中一种感兴趣,所以我想过滤掉其余的数据。数据类型:
7位数字 - 我需要这些
此格式的日期:DD.M.YYYY - 我不需要这些
随机空白单元格 - 我不需要这些
有没有办法修改下面的代码或操纵'CONList'变量来过滤到只保留7位数?我无法修改Excel工作表,因此我需要使用输出。
提前致谢!
答案 0 :(得分:0)
在每次循环迭代中使用RegExMatch()
测试单元格:
for cell in Range_B
{
if( RegExMatch(cell.text, "^\d{7}$") ) {
CONList .= cell.text "|"
}
}