#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[3];
$oFind = $oExcel.Selection.Find("ID")
If IsObj($oFind) Then
$aIDCell[0] = $oFind.Address(0,0);"ID"所在单元格Range
$aIDCell[1] = $oFind.Row;"ID"所在单元格行
$aIDCell[2] = $oFind.Column;"ID"所在单元格列
Else
MsgBox(4096,"Error","没有找到 ID 单元格")
EndIf
;找"Value"所在Excel表行列位置(单元格位置)
Local $aValueCell[3];"Value"所在Excel表行列位置(单元格位置)
$oFind = $oExcel.Selection.Find("Value")
If IsObj($oFind) Then
$aValueCell[0] = $oFind.Address(0,0);"Value"所在单元格Range
$aValueCell[1] = $oFind.Row;"Value"所在单元格行
$aValueCell[2] = $oFind.Column;"Value"所在单元格列
Else
MsgBox(4096,"Error","没有找到 Value 单元格")
EndIf
;在“ID”所在列找值示例, 假设值唯一且无数值相同, 否则要写循环,有那么几行要写,不能随手写出,暂不写,有需要再帮你写
$oExcel.ActiveCell.Range(StringRegExpReplace($aIDCell[0],"\d+","") & ":" & StringRegExpReplace($aIDCell[0],"\d+","") ).Select
$oFind = $oExcel.Selection.Find("4");找值id='4'
If IsObj($oFind) Then
ConsoleWrite(_Excelreadcell($oExcel, $oFind.Row, $aValueCell[2]) & @CRLF);读出对应的Value示范
_ExcelWriteCell($oExcel, "155", $oFind.Row, $aValueCell[2]);例如改为155
Else
MsgBox(4096,"Error","没有找到 ID 值")
EndIf
|