Sub copy()
Dim rg As Range
On Error GoTo No
Set rg = Cells(ActiveCell.Row, 2)
rg.Select
Dim sTemp As String, s() As String
's = Replace(sTemp, vbCrLf, ";")
's = Replace(s, vbTab, ";")
'MyData.SetText (s)
'MyData.PutInClipboard
If (rg.Column <> 2 Or rg <> "" Or rg.Offset(0, -1) <> "" Or rg.Offset(0, 1) <> "" _
Or rg.Offset(0, 2) <> "" Or rg.Offset(0, 3) <> "" Or rg.Offset(0, 4) <> "" _
Or rg.Offset(0, 5) <> "" Or rg.Offset(0, 6) <> "" Or rg.Offset(0, 7) <> "") Then
MsgBox "要输入的位置不对"
Exit Sub
End If
Dim objTXTFO As FileOperation
Set objTXTFO = New FileOperation
objTXTFO.OpenFile "D:\temp.txt", "R"
sTemp = objTXTFO.GetLine
's = Replace(sTemp, vbCrLf, ";")
sTemp = Replace(sTemp, vbTab, ";")
s() = Split(sTemp, ";")
If (Mid(s(0), 2, 1) <> "I") Then
MsgBox "无销售单号,请查看D:\temp.txt"
Exit Sub
End If
rg = s(0)
rg.Offset(0, -1) = s(1)
rg.Offset(0, 1) = s(13)
rg.Offset(0, 2) = s(17)
'rg.Offset(0, 4) = s(16)
rg.Offset(0, 7) = s(22)
Dim Num As Double
Num = 0
Do While Not (objTXTFO.AtEndOfFile)
'MsgBox objTXTFO.GetLine
sTemp = objTXTFO.GetLine
's = Replace(sTemp, vbCrLf, ";")
sTemp = Replace(sTemp, vbTab, ";")
s() = Split(sTemp, ";")
Num = Num + Val(s(5))
Loop
rg.Offset(0, 3) = Num
objTXTFO.CloseFile
rg.Offset(1, 0).Select
Exit Sub
No:
MsgBox "数据有误,请查看D:\temp.txt"
End Sub
#z:: ;Run www.autohotkey.com
SetTitleMatchMode 2
Num:=0
i:=0
Err:=0
Loop
{
times:=0
;MouseClick, left, 118, 85+i*15
clipboard=
Loop
{
Sleep, 500
send ^c
Sleep 100 ;;;;;;;;
if( StrLen(Clipboard)>5)
{
send #c
Sleep 100 ;;;;;;;;发指令需要时间important!!!
;MsgBox tryd
if(Err=1)
break
;MouseClick, Left ,352,635,1
;Sleep, 1000
;send #v
Sleep 100 ;;;;;;;;;
if(Err=0){
WinMinimize,四川科伦每天销售发货明细
}
break ;;;;;;;;不管是否成功都需要退出一个循环!!!
}
times:=times+1
if(times>=20)
{
MsgBox 选择销售单超时
break
}
}
if(times>=20 or Err=1)
{
MsgBox 选择销售单超时或出现错误
break
}
Num:=Num+1
if(Num>=2)
{
MsgBox 销售单达到了50条,请确认
break
}
i:=i+1
if(i>=3)
{
;MouseClick, Left ,352,635,1
;Sleep, 1000
i:=0
;break
}
}
return
#c::
SetTitleMatchMode 2
;IfWinActive,UFIDA NewCentury
{
FileDelete ,D:\temp.txt
;MouseClick, Left ;352,635,1
;Sleep, 2000
clipboard=
send ^c
Sleep 100 ;;;;;;;;
if( StrLen(Clipboard)>5)
{
StringMid, tt, Clipboard, 2, 1
if tt = I
{
FileAppend,%Clipboard%, D:\temp.txt
FileAppend,`n, D:\temp.txt
;msgbox 销售单数据已经拷贝入D:\temp.txt,请点击下面的单据统计销售件数
}
else
{
MsgBox,选择销售单错误,请重新选择
Err:=1
}
}
else
{
MsgBox,选择销售单错误,请重新选择
Err:=1
}
}
;else
; msgbox,UFIDA NewCentury 没激活
return
#v::
SetTitleMatchMode 2
;IfWinActive,UFIDA NewCentury
{
;MouseClick, Left ;352,635,1
;MouseClick, Left ,352,635,1
;Sleep, 1000
clipboard=
send ^c
Sleep 100 ;;;;;;;;
ttt=%Clipboard%
if( StrLen(Clipboard)>5)
{
StringMid, tt, Clipboard, 2, 1
if tt <> I
{
nLen=0
nLen:=nLen+1
FileAppend,%Clipboard%, D:\temp.txt
FileAppend,`n, D:\temp.txt
send,{Down}
sleep,500
send,^c
loop {
if (ttt=Clipboard){
break
}
if(nLen>50){
MsgBox,销售多于50条,是否有错
break
}
FileAppend,%Clipboard%, D:\temp.txt
FileAppend,`n, D:\temp.txt
send,{Down}
sleep,500
send,^c
nLen:=nLen+1
}
IfWinExist 四川科伦每天销售发货明细
{
WinActivate
WinWaitActive
send ^+l
}
else{
MsgBox,四川科伦每天销售发货明细没打开
Err=1
}
}
else
{
MsgBox,选择销售件数单错误,请重新选择
Err=1
}
}
else
{
MsgBox,选择销售件数单错误,请重新选择
Err=1
}
}
;else
; msgbox,UFIDA NewCentury 没激活
return