在使用EXCEL操作函数时,移动鼠标会导致数据复制错位
在使用EXCEL函数时,函数会打开EXCEL工作簿进行数据的读写操作,如果此时移动鼠标,这会导致_ExcelSheetActivate($oExcel, "目录")等函数操作错误,即使使用了BlockInput(1)函数阻断鼠标和键盘输入,结果也是一样的。不知道有没有更好的解决办法。谢谢! 使用$oExcel.Sheets('sheet名称').Range('单元格,例如:A1').Value把变量放前面是读取,例如:把sheet名为sheet1里面单元格为A1的值提取出来赋值给$value,代码如下$value = $oExcel.Sheets('sheet1').Range('A1').Value把变量放后面是赋值,例如:把$value的值写入sheet名为sheet1里面单元格为A1的单元格里面,代码如下$oExcel.Sheets('sheet1').Range('A1').Value = $value 本帖最后由 ap112 于 2015-8-11 16:14 编辑使用$oExcel.Sheets('sheet名称').Range('单元格,例如:A1').Value把变量放前面是读取,例如:把sheet名为sheet1里面单元格为A1的值提取出来赋值给$value,代码如下$value = $oExcel.Sheets('sheet1').Range('A1').Value把变量放后面是赋值,例如:把$value的值写入sheet名为sheet1里面单元格为A1的单元格里面,代码如下$oExcel.Sheets('sheet1').Range('A1').Value = $value网速好差!!!!!!!!!!!!!!!!!!! 回复 3# ap112
这样是不是就不可以用激活工作表了?这种写法是宏写法吧? $oExcel.Sheets("表名").Activate这句可以激活你的工作表 回复 1# smooth
写入数据时隐藏工作表,等写完后再显示工作表。 回复smooth
写入数据时隐藏工作表,等写完后再显示工作表。
xms77 发表于 2015-8-12 13:12 http://www.autoitx.com/images/common/back.gif
我现在就是这样操作的,但是如果复制数据时能显示目标工作簿,这样感觉会更好。 回复 5# ap112
你上面的写法,是不需要激活工作表的吧,写入数据时直接带着工作表的名称,这样或许可以解决复制数据时鼠标移动导致数据复制错位的问题。 {:face (114):}是滴回复 8# smooth 回复 9# ap112
但是这样写,也有个弊端,就是在写代码的时候,每复制一个单元格,就必须写一行代码,因为单元格只能用字母+数字来表示,比如A1单元格。如果用_ExcelReadCell函数来写,就可以使用for...next来对一片区域读写。 把代码贴出来 大家帮你看看
此外 既然动鼠标会有影响 你不动就是 我一般操作脚本时,电脑也不做别的事情 回复 10# smooth #include <Excel.au3>
#include <Array.au3>
$oExcel = _ExcelBookOpen(@ScriptDir&"\test.xlsx")
;;取A1,B1,C1,D1的数值
For $i = 1 To 4
$MyArray = $oExcel.ActiveSheet.range(chr(65+$i-1)&1).value
MsgBox(0,"方法一",$MyArray)
Next
;;取A1到A10的数值
For $i = 1 To 10
$MyArray = $oExcel.ActiveSheet.Cells($i,1).value
MsgBox(0,"方法二",$MyArray)
Next
;;换一个想法使用数组读取也是一个区域呀
;;读取单行或单列可以试用一维数组的方法
Local $MyArray
$MyArray = $oExcel.ActiveSheet.range("A1:A10").value
_ArrayDisplay($MyArray,"一维数组方法")
;;读取单二维区域可以试用二维数组的方法
Local $MyArray
$MyArray = $oExcel.ActiveSheet.range("A1:D10").value
_ArrayDisplay($MyArray,"二维数组方法")要是在做关于Excel的可以参考一下
http://www.autoitx.com/forum.php?mod=viewthread&tid=48190&highlight=
http://www.autoitx.com/forum.php?mod=viewthread&tid=47488&highlight=
http://www.autoitx.com/forum.php?mod=viewthread&tid=47934&highlight=
http://www.autoitx.com/forum.php?mod=viewthread&tid=47506&highlight=
页:
[1]