我有一个正在填充Google表格的Google表单。由于工作表中具有自定义公式来处理从表单填充的数据,因此我将ARRAYFORMULA应用于列中的所有行。
我有一个自定义函数来对包含html的行进行编码
<TextBox Grid.Row="1" Grid.Column="0" x:Name="testVal" x:Uid="testVal" Header="Laser" Text="{x:Bind TestProperty, Mode=TwoWay}"/>
当我在ARRAYFORMULA(base64EncodeWebSafe(T2:T))中调用此函数时
我收到错误消息“无法将数组转换为(class)[]。”
我希望发生的是将编码功能应用于范围T2:T
答案 0 :(得分:0)
这在Custom Functions guide中有描述。我已经适应了指南中使用的实现,但是您可以做其他事情。基本上,如果使用ARRAYFORMULA,则需要将输入视为二维数组。
function base64EncodeWebSafe(input) {
if (input.map) { // Test whether input is an array.
return input.map(base64EncodeWebSafe)
} else {
try {
return Utilities.base64EncodeWebSafe(input);
} catch (e) {
Utilities.sleep(1000);
return Utilities.base64EncodeWebSafe(input);
}
}
}