如何在Mac OS上使用REALbasic在OpenOffice中打开Word文档中创建表

时间:2013-05-15 12:34:33

标签: macos openoffice.org openoffice-writer realbasic xojo

enter image description here此代码我用来创建二进制文件:

dim eFile as FolderItem
dim output as BinaryStream
eFile= GetSaveFolderItem("application/vnd.ms-word", "mydocument.doc")
output.write  "User Name: "+" User Name field"+chr(13)
output.write  "Website: "+" Website field"+chr(13)
output.close

我想在该word文档中插入表格格式。

2 个答案:

答案 0 :(得分:3)

以下是有关如何为Mac OS X执行此操作的更多详细信息:

熟悉应用程序“AppleScript编辑器”。

在新脚本窗口中输入以下脚本:

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),例如as“SetContentInActiveWordDocument.scpt”

然后将此脚本文件拖到您的REALbasic项目中,它将以斜体显​​示为名为“SetContentInActiveWordDocument”的项目。

现在可以像调用函数一样调用此SetContentInActiveWordDocument,并将String传递给它。

请写:

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来查看如何使用它的Explorer来获取内容。如果没有这个,你必须从“脚本字典”中找到它,如果你没有经验,这通常很难。

(后)

我试图添加甚至只是用Word 2008读取一个表。我无法获得任何可以在“活动文档”中引用表的工作,尽管在网上找到了几个表明这应该工作的例子,像这样:

tell application "Microsoft Word"
    get table 1 of active document
end tell

我无法判断这是Word 2008或我的特定安装的一般问题。我没有其他版本可以测试,抱歉。这让你自己谷歌这样的例子,看看你是否能理解它。在任何情况下,首先在脚本编辑器中开发和测试您的代码,然后再尝试使用REALbasic。

此外,谷歌搜索“Word 2004 AppleScript参考”,这是一个关于在AppleScript中使用Word的相当全面的指南。

答案 1 :(得分:1)

Real Studio可以本地与MS Word和Excel通信,但不能在Mac端(或至少在现代版本的Real Studio和MS Office中)进行通信。

要通过Real Studio在Mac上执行相同的操作,您必须学习如何通过AppleScript执行此操作, 通过Real Studio工作。我不是Applescript的开发者,所以我无法帮助你。