以下是有关如何在 Mac OS X 上执行此操作的更多详细信息:
熟悉应用程序“AppleScript Editor”。
在新的脚本窗口中输入以下脚本:
tell application "Microsoft Word"
set d to active document
get content of text object of d
end tell
如果您在 Word 中打开了一个文本文档,然后运行此脚本,它应该在脚本代码下方的“结果”窗格中打印它的纯文本。
以同样的方式,您可以更改 Word 文档中的文本:
tell application "Microsoft Word"
set d to active document
set content of text object of d to "new text"
end tell
这是通过 Applescript 在 Word 中读取和写入文本的基础知识。学习如何向现有文本添加文本或更改字体等,您需要阅读 Word 的“字典”,您可以在 AppleScript 编辑器中打开它,请参阅“文件”菜单。
有关 AppleScript 的更多帮助,请访问http://www.macscripter.net
现在,要将其与 REALbasic 一起使用,请创建以下脚本:
on run {newContent}
tell application "Microsoft Word"
set d to active document
set content of text object of d to newContent
end tell
end run
将其保存为脚本文件(文件扩展名 .scpt),例如“SetContentInActiveWordDocument.scpt”
然后将此脚本文件拖到您的 REALbasic 项目中,它会以斜体显示为名为“SetContentInActiveWordDocument”的项目。
您现在可以像调用函数一样调用此 SetContentInActiveWordDocument,将字符串传递给它。
例如,写:
eFile.Launch() // this should open an existing word file if it exists in "eFile"
SetContentInActiveWordDocument("the new text") // replaces the text in the opened word file
但是,要在 Word 文档中创建表格,事情会变得更加复杂。通过这种方式,您只能将字符串和数字从 RB 传递给脚本,因此,如果您有一个要放入表中的值数组,则必须将数组值转换为具有唯一分隔符的字符串,传递此字符串到脚本,然后字符串再次被拆分为各个字段。
如果您购买“脚本调试器”,它也会有很大的帮助——它不仅可以让您单步执行脚本,而且还提供了一个“资源管理器”,让您可以查看正在运行的应用程序的所有值,从而更容易弄清楚您需要什么想要访问。我使用 Script Debugger 来查看如何仅通过其资源管理器访问内容。没有这个,您必须从脚本字典中找出它,如果您没有这方面的经验,这通常会非常困难。
(之后)
我尝试使用 Word 2008 添加甚至读取表格。尽管在“网络”上找到了几个表明这应该可以工作的示例,但我无法得到任何引用“活动文档”中表格的工作,如下所示:
tell application "Microsoft Word"
get table 1 of active document
end tell
我不知道这是 Word 2008 还是我的特定安装的一般问题。对不起,我没有其他版本可以测试。这让你自己去谷歌搜索这样的例子,看看你是否能理解它。在任何情况下,首先在脚本编辑器中开发和测试您的代码,然后再尝试使其与 REALbasic 一起使用。
此外,谷歌搜索“Word 2004 AppleScript 参考”,这是一个相当全面的使用 Word 和 AppleScript 的指南。