如何在 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 Sierra 上使用 Python3.5 绝对安装 virtualenvwrapper?