作者onlyAPU (Nothing)
看板EzHotKey
标题[AHK-] 读取excel特定sheet的整行到变数
时间Tue Jul 23 19:23:10 2019
状况:
因为常常要打估价单,该excel里面有两个sheet分别叫[估价单]、[单价]
由於每个客人的需求都有不一样,常常要复制来复制去
目前作法是:
打开 单价sheet,滑鼠选取,复制,回到 估价单sheet贴上
过程实在有点繁琐
今天尝试使用最简单的ahk写法
先把 sheet单价需要的栏位复制起来,然後贴上
::c1::
(
品名 尺寸 单价 数量 折数 ....
)
开开心心的把十几个品项都设定好hotkey...
但是事情没有憨人想得这麽简单,因为这样输入回去後,公式全部不见了
=====================================================================
上网估狗後,有看到一篇如下
#a::
; Gets a reference to the workbook
; Change the path to the path of your workbook
wbk := ComObjGet("C:\MyFolder\Book1.xlsx")
; Gets the value of cell 1, 1 (also known as cell A1) from Sheet1
A1Val := wbk.Sheets("Sheet1").Cells(1, 1).Value
SendInput, % A1Val
return
他这个方法试用过後是可以的,他读取後存到一个变数,然後再贴上
但是最大问题是他读取的只有 单个cell。可是我必须要有多个CELL
例如: 整行,或是A1-O1的值存到变数後再贴上
希望版上有人可以协助,感激不尽
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.132.111.72 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/EzHotKey/M.1563880992.A.D82.html
1F:推 papple23g: wbk.Sheets("工作表1").Range("A1","C1").Copy07/24 04:18
2F:→ papple23g: Send ^v07/24 04:18
3F:→ papple23g: 更正 C1为O107/24 04:19
4F:→ onlyAPU: 感谢回覆,刚刚测试还是没有办法复制整行07/24 11:13
5F:推 ides13: 不考虑直接用VBA吗?感觉这样比较快。可以录制一次,以後07/24 17:22
6F:→ ides13: 直接执行。07/24 17:22
7F:→ onlyAPU: 没用过vba ,我来查查。谢谢07/25 00:0
***7/25补充
感谢ides13,我用VBA录制功能已经解决这个问题。後来也有找到
AHK呼叫Excel巨集的命令,分享如下,希望以後对查资料的人有帮助
F1::
oExcel := ComObjActive("Excel.Application")
try oExcel.Run("巨集名称")
return
如果需要热字串呼叫巨集的方法如下
::自订文字::
send,{esc}
sleep,200
oExcel := ComObjActive("Excel.Application")
try oExcel.Run("巨集名称")
return
※ 编辑: onlyAPU (220.132.111.72 台湾), 07/25/2019 12:05:52
8F:推 ides13: 点选巨集、再点选「选项」後,可以直接设定快捷键。 08/02 17:02