问题标签 [iwork]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1418 浏览

objective-c - 读取和写入存储在 iCloud 中的 iWork Numbers 文件的特定单元格

这是场景,我有三个 iWork Numbers 文件,使用最新的 Mavericks 版本创建并保存在 iCloud 上:

timesheet_2014.numbers 我在其中收集所有工作时间 invoice_model.numbers 我的发票模型 invoice_register.numbers 我在其中跟踪所有到期和已支付的发票

在月底,我从时间表中获取数据,手动准备发票,并将其参考存储在寄存器中。

我正在手动完成所有这些工作,并且正在尝试使整个过程自动化。目前我不想写一个完整的程序,但我的首选是准备一些具有这种行为的objective-c脚本:

  1. 从时间表中读取给定的表格和单元格
  2. 加载模型,复制它并用给定值填充相关单元格
  3. 查找寄存器以获取最新的渐进式发票编号并将 +1 分配给当前发票
  4. 以 PDF 格式保存发票(谷歌驱动器或保管箱存储)并将参考(仅发票编号、到期日等)存储在寄存器中

介绍完之后,问题如下:

  1. Objective-c 有一组特定的 API 来处理 iWork 文件吗?
  2. 如何从本地 iCloud 存储加载 Numbers 文件?
  3. 我知道答案是否定的,但如果 iOS 7 发生了一些变化,我会问这个问题:脚本通常会从 Mac 启动,但我是否有机会从带有 iOS 应用程序的 iOS 设备运行?该应用程序需要能够访问 iCloud 上的文件。
  4. Objective-c 是否有有效的替代方法?最好是小牛内置的东西。
0 投票
1 回答
118 浏览

localization - 如何通过更改系统区域设置禁用 iWork 数字公式本地化?

我已经本地化了 Mavericks,但由于某些特定情况,我无法更改其语言环境。一切似乎都很好接受一件事。iWork Numbers 公式本地化是一个真正的痛苦。有没有办法在不切换整个系统的情况下获得他们的英文名字?

0 投票
1 回答
357 浏览

objective-c - iWork 应用程序的插件开发

是否有用于为 iWork(特别是 Numbers)或 Mac Excel 开发自定义应用程序的 COM 等效 API/SDK。我发现只有 Apple Script(但对它的支持已经减少),但我认为这对于我想要创建的实时金融应用程序来说是不够的。

如果没有与 COM 等效的 API/SDK,在 iWork 套件(或 Mac Excel)中实现对应用程序的这种编程控制的首选方法是什么(如果有)?

例如,我想要实现的目标是:

  • 写入工作表、单元格和范围
  • 从外部实时源(套接字等)中提取数据
  • 在 excel 中添加自定义控件,例如功能区

谢谢

0 投票
0 回答
334 浏览

macos - 如何让 iWork 加载我的插件?(像 MathType 一样?)

我想为 iWork 创建一个插件,比如 MathType。问题是 iWork 的插件架构完全没有文档记录。我有为其他应用程序(例如 Xcode)创建插件的经验。要为 Xcode 制作插件,您需要确保您的插件包位于 Xcode 在启动时查找插件的正确目录中,并且您的 Info.plist 设置正确。

我不知道 MathType 是如何将自己嵌入到 iWork 应用程序中的。我已经检查了它的所有安装日志并在我的整个机器上查找它安装的所有文件——所有这些文件都放在我的应用程序目录中的一个名为“MathType 6”的文件中。无论如何,它的 Info.plist 并没有什么神奇之处。

还有嵌入到 iWork 应用程序中的 LinkBack 插件。在过去的一年中,我曾多次尝试联系 MathType 和 LinkBack 的作者,但他们从未回复过我。

有谁知道如何为 iWork 应用程序编写插件?iWork 应用程序在启动时加载我的插件需要哪些神奇的要素?

0 投票
1 回答
2620 浏览

macos - 使用 applescript 复制数字表

我正在尝试使用 AppleScript 复制数字文件中的工作表(我每天都需要基于模板的新工作表)。我对 AppleScript 真的很陌生,但我已经在使用它来填充一些单元格,其中包含我从运行的 python 脚本中获得的结果,但这一点仍然是手动的...... =/

上面的代码返回错误:error "Numbers got an error: Sheets can not be copied." number -1717因此,我的问题是:有没有办法复制数字表?

我目前正在运行编号为 3.2 的 iWork '14

谢谢!

PS我也尝试duplicate every table of sheet "Template" to sheet "May14"过类似的错误:Tables can not be copied.

0 投票
0 回答
63 浏览

javascript - HTML5 检查一个内容是否

由于 Keynote 的导出到 powerpoint 和在线 icloud 选项对我来说还不够,我想使用导出到 quicktime 选项来显示我的演示文稿。

现在我想使用 JavaScript 和 HTML5 视频标签,在 keydown 事件上播放视频,并且每当播放视频的内容保持不变一秒钟(动画或下一张幻灯片之间的时间量)时暂停视频。

我的问题是如何检查播放视频的内容是否保持不变?

0 投票
1 回答
645 浏览

iwork - 将 Excel 中的日期/数学公式转换为 Mac 版 Numbers

我在 Excel 中有一个公式,它从今天的日期中减去出生日期并除以 365,得出十进制格式的年龄。下面的例子。

B4 等于 2011 年 3 月 10 日的生日。E4 是今天的日期。结果是 2.73。我的孩子是 2 和 1/2 多一点。

=IF(B4>0,(E$4-B4)/365,"")

当我尝试在 Numbers for Mac 中使用这个公式时,它给了我一个关于比较日期和数字等的错误。我查看了 DatedIF、TimeValue 和 DateValue,但无法弄清楚如何在 Number 中执行此操作。

任何人都知道我怎样才能让这个公式返回 2.73 岁的十进制值?

0 投票
1 回答
195 浏览

javascript - 如何上传 iWork Pages 5.2 文件。

Apple 已经改变了管理 iWork 文件的方式。这些文件现在是一个包,其内容很像他们的应用程序。我需要创建一个可以接收多个文件的上传表单。主要是图像,但也有一些页面和数字。删除的文件最多可达 15 个,并将使用 PHP 在服务器端进行排序。那已经建好了。

我的问题是。

如何获取要上传的页面文件?到目前为止,我已经尝试了很多预先构建的解决方案。

我也一直在从头开始构建。“dataTransfer”不喜欢它,它说它是一个目录。FileReader 看到它但是当我尝试执行以下操作时

它返回未定义并弹出以下错误"failed to load resource blob:http://localhost/<RANDOM BLOB STRING HERE>"

当我解码 blob 服务器端时,不出所料,我得到一个 0Kb 大小的文件,所以它永远不会去。

我真的只想将所有文件放入服务器上的文件夹中。我什至不介意我是否必须尽可能低效地为每个文件发送服务器请求。

我也尝试过 base64 编码,我再次得到类似的结果。我也尝试过 XHR.response “blob”方法。在每种情况下,我都没有得到我的文件,或者我得到了一个损坏的版本。

攻击这个的最好方法是什么?

0 投票
4 回答
13416 浏览

fonts - Apple iWork / Keynote 文档字体警告(缺失,但未在文档中使用)

我有一个 Keynote 文件,它肯定只使用了 3 种字体。所有 3 种字体都安装在 Font Book 中。

每次我打开 Keynote 文件时,Keynote 都会出现缺少字体的警告。我从来没有用过这些字体,所以很好奇。复制了我的文档,删除了除了一张空白的白色幻灯片之外的所有幻灯片和母版幻灯片,保存了文档。重新打开了文档。字体仍然缺失。

谁能帮忙解释一下这个问题?

0 投票
1 回答
394 浏览

macos - 在 Numbers 中热获取单元格的富文本

我想将我的数字表的富文本单元格内容转换为其他格式,如 Markdown 或 HTML。但是我怎样才能得到比纯文本更多的信息呢?

也许有一个解决方案如何设置选择范围并将其作为 rtf 复制到剪贴板。