;-------------------------------------
; Excel一次性复制大量数据 By FeiYue
;
; 这种方法单元格中若有`r和`t会导致错误
;-------------------------------------
F2::
objExcel := ComObjActive("Excel.Application")
objExcel.WorkSheets[1].Range("A1:B5").Copy
; 也可以用 objExcel.ActiveSheet.UsedRange.Copy
s:=Clipboard, ss:=""
Loop, Parse, s, `r, `n ; 分解每一行
{
t:=""
Loop, Parse, A_LoopField, %A_Tab% ; 分解每一列
{
v:=A_LoopField
if InStr(v,"`n") ; 单元格中有`n/`r/`t时会复制成CSV格式
Loop, Parse, v, CSV
v:=A_LoopField
; 分解得到了每个单元格的值v,后面再组合成可粘贴的数据ss
;---------------------
; 对v进行处理
;---------------------
t.=(v~="[\n""]" ? """" StrReplace(v,"""","""""") """":v) . A_Tab
}
ss.=SubStr(t,1,-1) . "`r`n"
}
Clipboard:=SubStr(ss,1,-2)
MsgBox, 4096,, 执行完毕!, 1
return
感谢分享