我有一些具有数据验证规则的工作表可用作下拉菜单。当尝试将其他(未经验证的)数据插入这些单元格时,我的代码现在会产生错误。
我正在寻找一种方法来忽略数据验证规则并插入数据而不更改已设置的数据验证规则。我只想忽略应用程序脚本错误。
您在单元格 U440 中输入的数据违反了在此单元格上设置的数据有效性规则。
代码错误所在的行没有数据验证问题,因此我不完全确定如何处理错误。
function CountCol(ss, col){var vals = ss.getRange(col+'1:'+col).getValues();var last = vals.filter(String).length;return last+1;}
Run Code Online (Sandbox Code Playgroud)
此函数返回已声明列的第一个空行的行号。不确定这如何违反数据验证规则,因为在我的代码中我正在计算列“C”,数据验证位于列“O”、“P”、“Q”、“U”和“V”以及验证错误列是“U”。
var row_data = [[""], [""]]; //example data
var team = "12345645647abcdef"; //example spreadsheet id
var sn = "Sheet1"; //example sheet name
var caseload = SpreadsheetApp.openById(team).getSheetByName(sn);
var append = CountCol(caseload, "C");
Logger.log("adding to row: "+String(append));
try{
caseload.getRange(append, 1, 1, row_data[0].length).setValues(row_data); //this is where the error should be. The output manages to write most colums but stops before writing column 'U'.
}catch(e){
Browser.msgBox(e);
Logger.log("failed to …Run Code Online (Sandbox Code Playgroud) 我在解决我只能假设是 Tkinter 中的错误的问题时遇到了一些麻烦。
from tkinter import *
def refocus(event, obj):
obj.focus()
root = Tk()
options = ["Hello", "world", "How", "are", "you"]
v1 = StringVar()
v2 = StringVar()
v3 = StringVar()
o1 = OptionMenu(root, v1, *options)
o1.configure(takefocus=1)
o2 = OptionMenu(root, v2, *options)
o2.configure(takefocus=1)
o3 = OptionMenu(root, v3, *options)
o3.configure(takefocus=1)
o1.bind("<Configure>", lambda e=Event(), o=o1: refocus(e, o))
o2.bind("<Configure>", lambda e=Event(), o=o2: refocus(e, o))
o3.bind("<Configure>", lambda e=Event(), o=o3: refocus(e, o))
o1.pack(side=TOP)
o2.pack(side=TOP)
o3.pack(side=TOP)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
从代码中,我尝试使用键盘上的制表符、空格、箭头和 Enter 键来导航 3 个选项菜单。
问题是,一旦弹出菜单框,它似乎就会失去原始选项菜单的焦点。为了解决这个问题,我绑定了配置,它重新聚焦它所在的选项框,但这只有在输入发生更改时才有效,所以我需要一种新的方法来执行此操作。
仍然存在一个问题,如果我选择了错误的选项,我必须循环浏览所有其他输入(选项菜单、条目、复选框等)才能返回该选项才能再次打开。
如果只有 1 个 …
我在Java和Python中都做了大量的数学运算.总和是相同的,但结果是不同的.
python_n1 = int(math.floor(math.pow(int((int(361) * (int(4900 + 4489))) * int(4356)), int(6))))
BigInteger Java_n1 = (x[20].multiply(x[7].add(x[15])).multiply(x[10])).pow(6);
python_simple_sum = 14764352724**6 #or math.pow(14764352724, 6)
BigInteger Java_simple_sum = new BigInteger("14764352724 ").pow(6)
Run Code Online (Sandbox Code Playgroud)
Python Answers = 10358251994780842724998096890217137953445700726699419360034816
Java Answers =10358251994780842575401275783021915748383652186833068257611776
Java正在获得正确的结果,但python不是.据我所知,我没有使用浮点数.这是什么问题.