找回密码
 加入
搜索
查看: 3562|回复: 10

[AU3基础] [已解决]怎么查询并修改excel里面的数值

 火.. [复制链接]
发表于 2012-3-13 22:12:20 | 显示全部楼层 |阅读模式
本帖最后由 linjuming 于 2012-3-19 11:24 编辑

怎么查询并修改excel里面的数值

评分

参与人数 1金钱 +15 收起 理由
afan + 15 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2012-3-13 22:18:43 | 显示全部楼层
_excelreadsheettoarray()
$iIndes = _arraysearch()
_excelwritecell()
发表于 2012-3-13 22:26:57 | 显示全部楼层
看帮助文档,EXCEL部分!
发表于 2012-3-16 15:17:50 | 显示全部楼层
#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

评分

参与人数 1金钱 +20 收起 理由
linjuming + 20 好人有好报

查看全部评分

 楼主| 发表于 2012-3-17 10:51:08 | 显示全部楼层
谢谢smartzbs高高手,帮大忙了。
发表于 2012-3-17 16:43:57 | 显示全部楼层
谢谢四楼
作为初学者,太需要这样的代码好好学习了
发表于 2012-3-17 17:51:36 | 显示全部楼层
smartzbs 发表于 2012-3-16 15:17

既然用对象何必用_excel*
发表于 2012-3-17 20:20:15 | 显示全部楼层
写太复杂了,其实没那么复杂的
发表于 2012-4-28 00:51:44 | 显示全部楼层
).Address  这里编译不过啊,怎么回事?
发表于 2015-1-6 17:42:47 | 显示全部楼层
哈哈,有学习了
女人退一步 该用户已被删除
发表于 2015-1-12 14:47:02 | 显示全部楼层
顶你一下,好贴要顶!












白菜价
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 14:27 , Processed in 0.083809 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表