嗨,我写了一个脚本来访问Excel单元格,但不是访问单元格“A22”,而是试图访问“A22”。“0”导致错误。示例:将测试设置为20设置aCell为“A”& test将myData设置为工作簿“workbook”的工作表“sheet1”的范围“A2:aCell”的值在上面的示例中,不是访问“A2:A20”,而是尝试访问“A2:A20”。“0”导致错误。先谢谢你了。
kmpatx3s1#
通过将变量aCell插入到字符串中(如“A2:aCell”),您插入到字符串中的不是变量的值,而是变量的名称。这样的操作的结果将不是“A2:A20”,而是相同的“A2:aCell”。因为AppleScript不会用字符串中的值替换变量的名称。.相反,您需要执行串联操作(“A2”& aCell)。一旦AppleScript看到**&运算符**,它就知道它需要提取变量的值,而不是使用它的名称。
set test to 20 set aCell to "A" & test ("A2:" & aCell) --> "A2:A20" set myData to value of range ("A2:" & aCell) of worksheet "sheet1" of workbook "workbook"
fdx2calv2#
你是在强制(将一个数字和一个字符串放在一起)。“A”是一个字符串,但20是一个数字,因此“”。为了解决这个问题,你可以把20用引号括起来,使test成为一个字符串:
set test to "20"
如果要用数字变量替换20,可以将其转换为字符串值:
set test to number_variable as string
2条答案
按热度按时间kmpatx3s1#
通过将变量aCell插入到字符串中(如“A2:aCell”),您插入到字符串中的不是变量的值,而是变量的名称。这样的操作的结果将不是“A2:A20”,而是相同的“A2:aCell”。因为AppleScript不会用字符串中的值替换变量的名称。.
相反,您需要执行串联操作(“A2”& aCell)。一旦AppleScript看到**&运算符**,它就知道它需要提取变量的值,而不是使用它的名称。
fdx2calv2#
你是在强制(将一个数字和一个字符串放在一起)。“A”是一个字符串,但20是一个数字,因此“”。为了解决这个问题,你可以把20用引号括起来,使test成为一个字符串:
如果要用数字变量替换20,可以将其转换为字符串值: