[已解决]怎么查询并修改excel里面的数值
本帖最后由 linjuming 于 2012-3-19 11:24 编辑怎么查询并修改excel里面的数值
http://i532.photobucket.com/albums/ee323/linjuming/questions/autoit_query.png _excelreadsheettoarray()
$iIndes = _arraysearch()
_excelwritecell() 看帮助文档,EXCEL部分! #include <Excel.au3>
$sFile = @ScriptDir&"\test.xls";此处改为你的文件路径
$oExcel = _Excelbookopen($sFile)
Local $aRc = StringRegExp($oExcel.Application.Selection.SpecialCells($xlCellTypeLastCell).Address(True, True, $xlR1C1), "\d+",3);共有几行几列
$oExcel.ActiveCell.CurrentRegion.Select;全选
;找"ID"所在Excel表行列位置(单元格位置)
Local $aIDCell;
$oFind = $oExcel.Selection.Find("ID")
If IsObj($oFind) Then
$aIDCell = $oFind.Address(0,0);"ID"所在单元格Range
$aIDCell = $oFind.Row;"ID"所在单元格行
$aIDCell = $oFind.Column;"ID"所在单元格列
Else
MsgBox(4096,"Error","没有找到 ID 单元格")
EndIf
;找"Value"所在Excel表行列位置(单元格位置)
Local $aValueCell;"Value"所在Excel表行列位置(单元格位置)
$oFind = $oExcel.Selection.Find("Value")
If IsObj($oFind) Then
$aValueCell = $oFind.Address(0,0);"Value"所在单元格Range
$aValueCell = $oFind.Row;"Value"所在单元格行
$aValueCell = $oFind.Column;"Value"所在单元格列
Else
MsgBox(4096,"Error","没有找到 Value 单元格")
EndIf
;在“ID”所在列找值示例, 假设值唯一且无数值相同, 否则要写循环,有那么几行要写,不能随手写出,暂不写,有需要再帮你写
$oExcel.ActiveCell.Range(StringRegExpReplace($aIDCell,"\d+","") & ":" & StringRegExpReplace($aIDCell,"\d+","") ).Select
$oFind = $oExcel.Selection.Find("4");找值id='4'
If IsObj($oFind) Then
ConsoleWrite(_Excelreadcell($oExcel, $oFind.Row, $aValueCell) & @CRLF);读出对应的Value示范
_ExcelWriteCell($oExcel, "155", $oFind.Row, $aValueCell);例如改为155
Else
MsgBox(4096,"Error","没有找到 ID 值")
EndIf
谢谢smartzbs高高手,帮大忙了。 谢谢四楼
作为初学者,太需要这样的代码好好学习了
smartzbs 发表于 2012-3-16 15:17 http://www.autoitx.com/images/common/back.gif
既然用对象何必用_excel* 写太复杂了,其实没那么复杂的 ).Address这里编译不过啊,怎么回事? 哈哈,有学习了 顶你一下,好贴要顶!
http://www.discuz.net/static/image/common/sigline.gif
白菜价
页:
[1]