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("图片路径")

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。