- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 Applescript 在特定工作表上创建新表格时遇到问题,除非我想要插入新表格的工作表是新的或当前选择的。
我使用的代码的一般形式是:
tell application "Numbers"
tell document 1
tell sheet "This is the sheet I want to use"
make new table with properties {name:"A new table"}
end tell
end tell
end tell
最佳答案
好的。我的第一个答案被接受并且无法删除,但不够充分,所以我决定编辑它并添加一些确实解决问题的代码!
此代码来自 Yvan Koenig,他归功于 Nigel Garvey。两者都活跃在 applescript-users list ,顺便说一句,这很棒,尤其是因为这两位先生以及许多其他伟大的 AppleScripters 的事件。
它依赖于 GUI 脚本(不得不依靠它总是一件可怕的事情,但这就是我们所拥有的)。
调用 my activateGUIscripting()
可能会导致提示输入管理员密码。如果你绝对知道 如果您启用了 GUI 脚本(系统偏好设置-> 通用访问-> 启用辅助设备的访问) - 那么您可以省略此行。
接下来的两行只是示例调用,因此您需要一个名为“Sheet 1”的工作表才能使这些示例调用工作。
这将允许您在任何文档的任何工作表中创建表格,而不管选择的是什么或最前面的内容。
--EXAMPLE CALLS
my activateGUIscripting()
my selectsheet(1, "Sheet 1")
my createNewTable(1, "Sheet 1", "myNewTable", 69, 13)
--NUMBERS UTILS
on createNewTable(dName, sName, newTable, nb_rows, nb_columns)
tell application "Numbers" to tell document dName to tell sheet sName
make new table with properties {name:newTable, row count:nb_rows, column count:nb_columns}
end tell
end createNewTable
--=====
on activateGUIscripting()
(* to be sure than GUI scripting will be active *)
tell application "System Events"
if not (UI elements enabled) then set (UI elements enabled) to true
end tell
end activateGUIscripting
--=====
(*
==== Uses GUIscripting ====
*)
on selectsheet(theDoc, theSheet)
script myScript
property listeObjets : {}
local maybe, targetSheetRow
--+++++
-- set log_report to "point 2 : " & (current date) & return
--+++++
tell application "Numbers"
activate
set theDoc to name of document theDoc (* useful if the passed value is a number *)
tell document theDoc to set my listeObjets to name of sheets
end tell -- "Numbers"…
set maybe to theSheet is in my listeObjets
set my listeObjets to {} -- So it will not be saved in the script *)
if not maybe then
error "The sheet “" & theSheet & "” is unavailable in the spreadsheet “" & theDoc & "” !"
end if -- not maybe
set maybe to 5 > (system attribute "sys2")
tell application "System Events" to tell application process "Numbers"
tell outline 1 of scroll area 1 of splitter group 1 of splitter group 1 of window theDoc
if maybe then (* macOS X 10.4.x
'(value of attributes contains 0)': '(value of attribute "AXDisclosureLevel" is 0)' sometimes works in Tiger, sometimes not.
The only possible instances of 0 amongst the attributes are the disclosure level of a sheet row and the index of the first row, which represents a sheet anyway.
Another possibility is '(value of attribute -1 is 0)', which makes me uneasy. *)
set targetSheetRow to first row where ((value of attributes contains 0) and (value of first static text is theSheet))
else (* macOS X 10.5.x or higher *)
set targetSheetRow to first row where ((value of attribute "AXDisclosureLevel" is 0) and ((groups is {}) and (value of first static text is theSheet)) or (value of first group's first static text is theSheet))
end if -- maybe…
(*
Handler modified to accomodate sheets requiring a lot of time to get the focus
*)
tell targetSheetRow to set value of attribute "AXSelected" to true
set cnt to 0
repeat (*
Must way that Numbers becomes ready to receive the value *)
try
tell targetSheetRow to set value of attribute "AXDisclosing" to true
exit repeat
on error
set cnt to cnt + 1
delay 0.5 -- half a second
end try
end repeat
end tell -- outline…
end tell -- "System Events"…
--+++++
-- set log_report to log_report & "point 3, cnt = " & cnt & return & (current date) & return
--+++++
tell application "Numbers" to tell document theDoc to tell sheet theSheet to tell table 1
with timeout of 20 * 60 seconds (*
WITH this setting, the script will be able to wait 20 minutes for the asked value.
I hope that the document will not be so huge that this delay prove to be too short. *)
value of cell "A1"
end timeout
end tell -- "Numbers"…
--+++++
-- set log_report to log_report & "point 4 : " & (current date) & return
--+++++
tell application "System Events" to tell application process "Numbers" (*
Do the trick one more time to be sure that the sheet is open *)
tell targetSheetRow to set value of attribute "AXDisclosing" to true
end tell -- "System Events"…
--+++++
-- return log_report & "point 5 : " & (current date) & return
--+++++
(*
End of the modified piece of code
*)
end script
run myScript
end selectsheet
关于macos - 使用 applescript 在特定工作表上的 iWork 编号中创建新表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/516805/
我正在寻找创建 XML 文档的 iOS 应用程序,但很沮丧地看到 Apple 的持久性文档声明“XML 存储在 iOS 上不可用。”但是,Apple 的 iWork 文档是基于 XML,iOS 支持
如何获得选项卡按钮出现在 iWork '09 Inspector NSPanel 中的外观? 我能得到的最接近的是具有“小方 block ”风格的NSSegmentedControl。不幸的是,至少在
我正在尝试实现与 iWork 中相同的窗口翻转 - https://dl.dropbox.com/u/2338382/Window%20Flipping.mov 但是,我似乎无法找到一种简单的方法来做
Apple iWork 套件的早期版本使用非常简单的文档格式: 文档是资源包(文件夹,无论是否压缩) 该 bundle 包含一个 index.apxl[z] 文件,以专有但相当容易理解的模式描述文档结
有人试过将数据导出到 iWork 中的 Numbers 吗?我想以编程方式生成电子表格,但没有取得太大成功。 我试过解压缩 .numbers 文档并分析 XML 以查看我是否可以解释它,但它太复杂了。
我知道可以使用 Microsoft 的 .NET 框架与 Microsoft Office 进行一些互操作。 iWork 和 Cocoa 框架是否存在类似的东西? 编辑:这里有更多细节。我想创建一个具
我正在尝试将放置在网站上的 iWork 10 Numbers 文件打开到 UIWebView 中。我尝试了以下内容,结果是 UIWebView 加载空白。如果我将文件下载到本地的 Documents
我找不到有关如何操作的说明 从菜单中执行我的 Applescript Numbers 或任何其他 iWork 应用程序中的(或热键)。我毫不怀疑之前有人问过这个问题,只是找不到它......谷歌有一些
我想知道 iWork 页面的 mime 类型是什么?以及 iWork 套件中其余软件的 mime 类型是什么?我在网上环顾四周,没有看到任何地方。 最佳答案 我最近需要这个来工作,结果只是上传了一些文
我正在尝试在命令行上将一堆各种 iWork 文件(数字、页面、主题演讲)批量转换为 PDF。 我一直在尝试 cups-filter,但没有适用于 iWork 类型的 MIME 类型过滤器。然后我研究使
我在使用 Applescript 在特定工作表上创建新表格时遇到问题,除非我想要插入新表格的工作表是新的或当前选择的。 我使用的代码的一般形式是: tell application "Numb
问题: 解析错误:语法错误,/home/brofesso/public_html/brofessor.org/index.html 第 1 行中的意外“=” 第 1 行: 我对此很陌生;我正在
我正在编写一个 iPad 应用程序,它有一个 UIWebView,我可以在其中打开 Word 和 Excel 文档,但我希望用户能够将这些文档导入到 iWorks 应用程序、Pages 和 Numbe
我正在使用 JXA 来自动化使用 Numbers 应用程序的流程。我需要的是选择一系列单元格以应用宽度,但 JXA 不允许我获取它们。 根据 apple documentation我只需要在数组中使用
Apple 改变了管理 iWork 文件的方式。这些文件现在是一个 bundle ,其内容非常类似于它们的应用程序。我需要创建一个可以接收多个文件的上传表单。主要是图像,但也有一些页面和数字。删除的文
愿意为工作示例奖励 +500 赏金。 我知道只有两个源代码示例可以在 iPad 上实现文档预览界面,例如在 Number、Pages 等中找到的那些。 infoNgen和 OmniGroup Fram
Keynote、Numbers 和 Pages 都有一个顶级“我的文档”浏览器,您可以在其中创建、删除和选择编辑迄今为止创建的所有文档。 我想为 iPad 应用程序创建一个像这样的文档浏览器,但我不知
我正在使用 UIWebView 打开 Office(ppt、xls、doc)和 iWork(numbers、pages、key)格式的本地文件,所有文件的大小都小于 5 MB。要加载它们,我只需执行以
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
将任何 iWork 文档(Pages、Keynote、Numbers)转换为 NSData来自 UIDocumentPickerViewController似乎不起作用,因为它们不是文件而是目录。 这
我是一名优秀的程序员,十分优秀!