Excel前台操作是基于你安装了Word或者Excel、WPS,然后让AHK连接到文档编辑器COM来实现控制。由于和VBA代码逻辑类似,所以把你的需求向GPT提问基本上都能返回可用的代码。
什么是 COM 对象?(面向 Excel 自动化的用户)
COM(Component Object Model)是一种 Windows 提供的技术,用于让程序之间互相通信。在 AutoHotkey 中,COM 技术可以让脚本直接控制像 Excel、Word 这样的办公软件。
简单理解:
- AHK + COM = 可以像“操控人手”一样操作 Excel。
- 实例化 Excel:让 AHK 脚本打开 Excel 并与其交互。
- 方法和属性:通过脚本调用 Excel 的功能(方法)或读取/修改其内容(属性)。
以下我将前台Excel操控相关的代码打包一起,就不拆分发布,浪费大家的时间去浏览筛选了。
GPT免费使用说明:https://www.ahk66.com/aicode
ExcelCOM前台操作打包.zip 下载地址
打包目录:
红字为重点。其它的是用不同方式来对Excel窗口进行控制,仅供参考。
Word+WPS读写等各种操作.ahk
Excel一次性复制大量数据 By FeiYue.ahk
WPS锁定图片尺寸.ahk
操作PPT_改变选中对象的颜色、形状、线宽.ahk
[AHK]利用ComObj 控制 Excel 的相关函数_excel控制access
Excel教程 简睿随笔等等
Excel自动分级显示
[PostMessage]Excel发送消息号不完全收录.txt
[PostMessage]Word发送消息号不完全收录.txt
ahk控制excel系列1工作表和简单的单元格操作.ahk
AutoCAD【COM】.ahk
ExcelToArray - 将 excel 数据读取到 AHK 数组
PPT转PDF.ahk
Excel正则工具v2.0.4
VBA 到 AHK 翻译器 (Excel)
VBA代码移植到ahk_liuyukuan的博客
操作Excel【用的VBA方式】.ahk
累计求和v1.1.ahk
热键设置WPS单元格颜色.ahk
上浮小工具v1.0【热键F12】.ahk
循环切换Excel的当前工作表 By FeiYue.ahk
用AHK读写Excel表格数据 By FeiYue.ahk
自动复制网页图片到PPT.ahk
Word+WPS读写等各种操作.ahk
#NoEnv SetBatchLines -1 SetWorkingDir %A_ScriptDir% ; 注意权限问题: 如果 Word 是以管理员权限运行,而AHK脚本不是,以不同权限级别运行的应用程序之间的COM 连接会失败。 ; 尝试连接到正在运行的 Word 实例【Word和WPS都是用这个接口】 Try word := ComObjActive("Word.Application") ; 连接到当前运行的 Word 实例 Catch word := ComObjCreate("Word.Application") ; 如果没有找到活动实例,创建新的 Word 实例 word.Visible := True ; 设置Word应用程序可见。 False 为不显示界面隐藏操控,True 为显示界面 doc := word.Documents.Open("C:\Users\Dianbo\Desktop\新建 Microsoft Word 文档.docx") content := doc.Content.Text ; 读取文档内容 MsgBox % "读取原文档内容:" content doc.Content.Text := "要写入的内容" ; 会把原来的内容都删除覆盖掉 doc.Save() ; 弹窗提示保存文档选择路径 ; doc.SaveAs(A_Desktop "\新的AHK写入测试文档.docx") ; 保存文档到指定路径 doc.Close() ; 关闭文档 ; word.Quit() ; 退出Word应用程序 Return ; GPT提供的更多示例 doc.Range.InsertAfter("要插入的文字") ; 插入文字到光标位置 ; 在指定位置插入文字 range := doc.Range() range.Start := 0 ; 要插入的位置,0表示文档开头 range.Text := "要插入的文字" ; 设置字体样式 range := doc.Range() range.Text := "要设置样式的文字" range.Font.Bold := true ; 设置为粗体 range.Font.Italic := true ; 设置为斜体 range.Font.Underline := true ; 设置为下划线 ; 设置段落样式 range := doc.Range() range.Text := "要设置样式的文字" range.ParagraphFormat.Alignment := 1 ; 设置为居中对齐,0表示左对齐,1表示居中,2表示右对齐 range.ParagraphFormat.SpaceBefore := 12 ; 设置段前间距为12磅 range.ParagraphFormat.SpaceAfter := 12 ; 设置段后间距为12磅 ; 查找并替换文本 doc.Content.Find.Execute("要查找的文字") doc.Content.Text := StrReplace(doc.Content.Text, "要查找的文字", "要替换的文字") ; 插入图片 range := doc.Range() range.InlineShapes.AddPicture("图片路径")
评论(0)