【问题标题】:Assigning a value to merged cells in Apple Numbers using AppleScript使用 AppleScript 为 Apple Numbers 中的合并单元格赋值
【发布时间】:2020-05-29 05:16:53
【问题描述】:

作为较长 AppleScript 的一部分,我将字符串从列表变量复制到 Numbers 10.0 表中合并单元格的范围内。例如,如果列表名为 form_filler 并且合并单元格的第一个范围是 B6:Y7,我首先尝试:

set value of cell "B6" to item 1 of form_filler

我认为一个地址是左上角的单元格合并的单元格。但这做了一些意想不到的事情:它只将字符串放入单元格“B6”并将合并单元格的范围更改为 C6:Y7,不包括我刚刚粘贴到的单元格。此行为与整个表格中不同的合并单元格一致。然后我尝试了:

set value of range "B6:Y7" to item 1 of form_filler

但这返回了一个错误;我无法为该范围分配值。

我是 AppleScript 的新手,但一般不会编程(例如 Python)。我错过了什么?谢谢。

【问题讨论】:

    标签: applescript apple-numbers applescript-numbers


    【解决方案1】:

    看来您必须重新合并这些单元格。这是我刚刚使用自己的tell块结构测试的代码;您应该能够从中推断(如果您包含您的告诉块结构,我将编辑我的代码):

    tell application "Numbers"
        set d to sheet 1 of document 1
        tell d
            set value of cell "B6" of table 1 of it to "test"
            merge range "B6:Y7" of table 1 of it
        end tell
    end tell
    

    不确定这是否属于“解决方法”,但它似乎有效,希望不会引入其他问题。

    【讨论】:

    • 我将对此进行试验,但我持怀疑态度。我正在用字符串数据(具体来说是 CMS-1500 保险索赔表)填写详细的格式化页面以进行打印。我在数字表上放了一张 CMS-1500 的全尺寸图片,并叠加了一张带有小单元格的表格。然后我合并单元格以覆盖表单输入字段,仔细地将合并的范围格式化为表单的字段规范。除非有办法保留这种格式,否则我不认为我想以编程方式合并单元格;我希望他们合并开始。不过还是谢谢。
    • @BuffaloChip - 是的,你应该尝试一下 - 使用一个很好的测试文档或者当然有足够的备份。我找到了这个解决方案;它似乎保留了先前合并的格式。现在我们对您想要完成的工作有了更多的了解,如有必要,我们可以填补一些空白。但是我的回复是针对您发布的问题的解决方案。是的,您必须将合并的单元格作为一组额外的变量。设置起来并不难。
    • 我的怀疑是没有根据的——它有效。正如你所说,它保持格式。此方法将新值添加到合并范围中的现有值之前,而不是替换它。但这很容易通过首先清除范围来解决。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多