如何用AppleScript绕过Word打开文本文件时的文件转换对话框
解决Word AppleScript打开TXT时的编码对话框问题
方法1:指定正确的打开参数
Word的AppleScript open 命令支持通过参数明确指定编码,你之前的写法参数不完整,试试用下面的代码:
tell application "Microsoft Word" repeat with i from 4 to 100 set docName to prefix & i & ".txt" -- 指定编码转换器为"Encoded Text",编码选ASCII兼容的Macintosh编码 open file docName file converter "Encoded Text" encoded text macintosh text encoding -- 执行你的后续操作 end repeat end tell
如果macintosh text encoding不生效,也可以替换成windows text encoding,两者都兼容ASCII字符。
方法2:读取文本内容再导入(彻底绕过对话框)
要是指定参数还是不行,换个思路:先用AppleScript读取TXT内容,再新建Word文档写入内容,完全避开Word的编码检测逻辑:
repeat with i from 4 to 100 set docName to prefix & i & ".txt" -- 读取TXT内容(ASCII编码下用`as text`或`as «class utf8»`都可以) set fileContent to read file docName as text -- 在Word中新建文档并写入内容 tell application "Microsoft Word" set newDoc to make new document set content of newDoc to fileContent -- 后续操作(如保存、格式处理等) end tell end repeat
方法3:修改Word全局偏好设置(一劳永逸)
如果经常需要处理这类ASCII文本文件,可以直接修改Word的默认设置,彻底关闭编码对话框:
- 打开Word,点击顶部菜单栏「Word」→「偏好设置」
- 切换到「打开和保存」选项卡
- 在「文件转换」区域,将默认文本文件编码设为「ASCII」或「Windows (默认)」
- 取消勾选「打开时确认转换」选项,之后打开TXT文件就不会再弹出对话框了
注意:这个设置是全局生效的,后续如果需要处理非ASCII编码的文本文件,可能需要重新调整该选项。
内容的提问来源于stack exchange,提问作者MiguelMunoz
相关产品推荐
相关产品推荐

