判断剪切板为空时问题
从Excel中复制单元格到其它程序。当检测到的剪切板为空(无内容)时,则退出循环,并退出程序。但判断剪板板为空条件总是不成立?
Local $aa=0
Do
Send("{CTRLDOWN}c{CTRLUP}")
Local $sData = ClipGet()
Sleep(1000)
$sData = ClipGet()
If $sData="" Then ;尝试了error=1,$sData=''均不行
ExitLoop
ExitProgram()
Else
;执行程序
Send("{CTRLDOWN}a{CTRLUP}")
Sleep(500)
ClipPut($sData)
Send($sData)
Sleep(500)
...
$aa=$aa+1
Until $aa=100
EndIf
如无清空剪贴板的操作,剪贴板始终会保留上次的数据,当然不为空。你不会认为随意按下ctrl-c就能清空吧?ClipPut('') 一次就清空了。
BTW, 第9行永远不会执行到 afan 发表于 2022-4-1 14:04
如无清空剪贴板的操作,剪贴板始终会保留上次的数据,当然不为空。你不会认为随意按下ctrl-c就能清空吧?Cl ...
也就是说复制空时,还会保留上一次内容么。。。
当复制到Excel单元格为空时,则退出循环,那怎么判断呢? 试试 If StringRegExp($sData, '^\v*$') Then afan 发表于 2022-4-1 14:24
试试 If StringRegExp($sData, '^\v*$') Then
可以用的。
TKS~~~ weixieyang 发表于 2022-4-1 14:11
也就是说复制空时,还会保留上一次内容么。。。
当复制到Excel单元格为空时,则退出循环,那怎么判断呢 ...
为何不在读取Excel单元格时判断? chzj589 发表于 2022-4-1 15:13
为何不在读取Excel单元格时判断?
我不是用的自定义的函数 读取Excel 方式,是先前端打开excel,再复制、粘贴到别的程序的。 weixieyang 发表于 2022-4-1 15:46
我不是用的自定义的函数 读取Excel 方式,是先前端打开excel,再复制、粘贴到别的程序的。
复制之前读取就判断是否空格 chzj589 发表于 2022-4-1 15:57
复制之前读取就判断是否空格
复制之前判断不了,打开excel,执行选中,复制...下一个单元格再选中...复制
选中的时候判断不了内容是不是空 weixieyang 发表于 2022-4-1 16:00
复制之前判断不了,打开excel,执行选中,复制...下一个单元格再选中...复制
选中的时候判断不了内容是 ...
你是说某列中有数据也有空格?不是一个单元格?
chzj589 发表于 2022-4-1 16:25
你是说某列中有数据也有空格?不是一个单元格?
是单元格。需要检测单元格为空,但只选中时无法判断,只有复制后,我才能考虑判断是否为空。
这样循环读取某一列的单元格,直到单元格为空时退出。 weixieyang 发表于 2022-4-1 16:29
是单元格。需要检测单元格为空,但只选中时无法判断,只有复制后,我才能考虑判断是否为空。
这样循环读 ...
不知你是怎样读取的?
用_Excel_RangeRead读取后,再循环判断
页:
[1]