Thinkai's Blog

Autohoutkey|Python|php|aardio|VOIP|IT 爱好者

均分数据给多个人并生成csv Autohotkey 3307

作者为 发表

Autohotkey


业务需求,人工分太慢,素以写了这么一个简单的小脚本。

;创建图形界面
gui, add, text, x0 y0 w600 h20, 在下方粘贴数据
gui, add, edit, x0 y20 w600 h340 vsj,
gui, add, text, x0 y360 w600 h20, 在下方输入分数据人数
gui, add, edit, x0 y380 w600 h20 vrs,
gui, add, button, x0 y400 w600 h20 gok, 从excel或其他粘贴数据到上方并点此
gui, show, , 分数据
Return

ok:
;获取GUI数据且不隐藏界面
Gui, Submit, NoHide
if !sj
{
	MsgBox, 64, 提示, 无数据,请粘贴!
	Return
}
if !rs
{
	MsgBox, 64, 提示, 无人数,请输入!
	Return
}
;替换excel粘贴过来的制表符
StringReplace, sj, sj, `t, `,, All
;分割成伪数组
StringSplit, line, sj, `n
FileCreateDir, %A_Desktop%\分数据%A_MM%-%A_DD%
Loop % rs ;循环人数/次
{
;上一个人的最后一项id
idx := (A_index-1)*floor(line0/rs) ;floor向下取整
content =
loop % floor(line0/rs) ;循环每个人的数据量/次
{
idx += 1
content .= line%idx% "`n" ;表达式形式追加
}
FileDelete, %A_Desktop%\分数据%A_MM%-%A_DD%\%A_Index%.csv
FileAppend, %content%, %A_Desktop%\分数据%A_MM%-%A_DD%\%A_Index%.csv
}
;多出来的
idx := rs*floor(line0/rs)
content =
loop % line0-floor(line0/rs)*rs
{
idx += 1
content .= line%idx% "`n"
}
FileDelete, %A_Desktop%\分数据%A_MM%-%A_DD%\多的.csv
FileAppend, %content%, %A_Desktop%\分数据%A_MM%-%A_DD%\多的.csv
Run, %A_Desktop%\分数据%A_MM%-%A_DD%\
Return

GuiClose:
ExitApp



来了就留个评论吧! 没有评论




友情链接:Autohotkey中文论坛Autohotkey中文帮助Autohotkey官网我的B站直播间如若生涯一场梦博客联系作者免GooglePlay APK下载

 主题设计 • skyfrit.com  Thinkai's Blog | 保留所有权利

63 queries in 4.101 seconds |