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

Posted

技术标签:

【中文标题】如何在 Mac OS 上使用 REALbasic 在 OpenOffice 中打开的 Word 文档中创建表格【英文标题】:How to create table in Word document open in OpenOffice using REALbasic on Mac OS 【发布时间】:2013-05-15 12:34:33 【问题描述】:

我用来创建二进制文件的代码:

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文档中插入表格格式。

【问题讨论】:

如果有人对此有任何想法,如何创建或拥有一些材料或参考链接。请在此处提供。感谢您的建议.. 在 Windows 上,我使用下面的代码在 word 文档中创建表格。暗淡 wrdApplication 作为 WordApplication 暗淡 docDocument 作为 WordDocument 暗淡 tblWordTable 作为 WordTable 请指定您希望支持的 Word 版本。例如,遗憾的是,我发现 Word 2004 的脚本与 Word 2008 不同。 【参考方案1】:

以下是有关如何在 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 结合使用的指南。

【讨论】:

感谢 Thomas 提供的信息,但我需要更多信息,并且我在 MAC 上使用 openOffice。你有什么想法吗,如何在 MAC OS 上的 doc 文件中创建表格格式。请分享您的信息。谢谢 抱歉,如果没有安装 MS Word,则无法使用 .doc 格式的文件来执行此操作,因为该格式过于复杂,无法进行通用编写。相反,请考虑写入“开放”文档格式,例如 RTF。它可以被许多类似“Word”的程序读写。最后,请学习正确拼写“Mac”。它不是首字母缩略词,而是缩写,因此不是全部大写。 amol 说他不是“手动”执行此操作,而是使用 OpenOffice。不幸的是,我不知道 OpenOffice 在多大程度上支持 OS X 自动化。当然可以编写一个 OO.org BASIC 脚本来完成它。可能所有需要的只是一种在运行时告诉 OO.org 运行该脚本的方法。【参考方案2】:

Real Studio 可以原生地与 MS Word 和 Excel 对话,但不能在 Mac 端(或至少在现代版本的 Real Studio 和 MS Office 中)。

要在 Mac 上通过 Real Studio 做同样的事情,您必须学习如何通过 AppleScript 来做到这一点,确实通过 Real Studio 工作。我不是 Applescript 开发人员,所以我无法为您提供帮助。

【讨论】:

以上是关于如何在 Mac OS 上使用 REALbasic 在 OpenOffice 中打开的 Word 文档中创建表格的主要内容,如果未能解决你的问题,请参考以下文章

如何在Mac OS X上安装 Ruby运行环境

如何在 OS X 上使用 LaTeX

如何在 Mac OS X 上使用 C++ 播放声音?

如何在 Mac OS Sierra 上使用 Python3.5 绝对安装 virtualenvwrapper?

如何在 Mac OS 上使用 ruby​​ 设置文件创建时间?

如何在 Mac OS X 上设置 libusb?