;~ https://autohotkey.com/boards/viewtopic.php?f=5&t=30663&p=143361&hilit=Selection.Paste#p143361
;~ convert this VBA code into AHK
有VBA脚本如下,需要改成AutoHotkey
Range("A1:F1").Select
Selection.Cut
Range("H1").Select
ActiveSheet.Paste
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A1:F1").Select
Selection.Delete Shift:=xlUp
Range("E4").Select
转成AutoHotkey版本1
; Constants
xlFormatFromLeftOrAbove := 0
xlShiftDown := -4121
xlShiftUp := -4162
App := ComObjActive("Excel.Application") ; Excel must be running for this example
App.Range("A1:F1").Select
App.Selection.Cut
App.Range("H1").Select
App.ActiveSheet.Paste
App.Selection.Insert(xlShiftDown, xlFormatFromLeftOrAbove)
App.Range("A1:F1").Select
App.Selection.Delete(xlShiftUp)
App.Range("E4").Select
转成AutoHotkey版本2,个人感觉这个版本更舒服,省去Select命令。
; Constants
xlFormatFromLeftOrAbove := 0
xlShiftDown := -4121
xlShiftUp := -4162
App := ComObjActive("Excel.Application") ; Excel must be running for this example
App.Range("A1:F1").Cut(App.Range("H1")) ;将A1:F1 这一行剪贴到 H1:M1
App.Range("H1:M1").Insert(xlShiftDown, xlFormatFromLeftOrAbove) ;H1:M1插入一行,所有内容向下移动
App.Range("A1:F1").Delete(xlShiftUp) ;A1:F1删除一行