这让我抓狂,代码昨天还可以工作,但现在不行了。我尝试再次检查所有语法,但问题仍然存在。来自 Google 表格的此服务器端请求在服务器端显示值 ( Logger.log()),但null在客户端返回。
function supervisorLine(lineData) {
if (lineData == 'Name Value is not VALID!') {
console.log("Supervisor Name Issue!");
} else {
document.getElementById('Team').value = lineData[7];
document.getElementById('Shift').value = lineData[12];
document.getElementById('action').classList.remove("disabled");
console.log("team " + lineData[7] + " shift " + lineData[12]);
////////////////////////////////// need to be Moved somewhere after password check!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
google.script.run.withSuccessHandler(function(quickStat2) {
console.log(quickStat2)
}).loginRecords(lineData[7], lineData[12]);
}
}
Run Code Online (Sandbox Code Playgroud)
这也是我的服务器端代码:
function loginRecords(team, shift) {
var sh = ss.getSheetByName("Attn Rec");
var result = [];
var matchRec = sh.getRange("a2:l" + sh.getLastRow()).getValues().filter(function(a) { …Run Code Online (Sandbox Code Playgroud) javascript web-applications google-sheets google-apps-script
我需要开发一个 UDF 来根据几个可能的条目检查单元格值,以检查单元格是否等于这些值中的任何一个。如您所见,我有一个关于如何进行此检查的想法。但是以一种可以接受多个可选条目的方式对函数进行编码,我不清楚。例如,我在 EXCEL { CONCATENATE( text1, [ text2, ... text_n ] )} 中寻找像 CONCATENATE 这样动态的东西。我的带有 5 个可选参数的函数的代码如下:
Function IfAmong(TextToCheck As String, Text1 As String, Optional Text2 As String, _
Optional Text3 As String, Optional Text4 As String, Optional Text5 As String,_
Optional text6 As String) As Boolean
Dim dd As New Scripting.Dictionary
dd.CompareMode = TextCompare
dd.Add Text1, dd.Count
If Text2 <> "" Then dd.Add Text2, dd.Count
If Text3 <> "" Then dd.Add Text3, dd.Count
If Text4 <> "" Then …Run Code Online (Sandbox Code Playgroud) 我有一个多页网络应用程序。我希望登录后,用户可以看到他的队友列表并标记他们的出勤状态。我的问题是我无法在 iFrame 中显示这一点,而不是在 google 脚本原始框架中显示这一点。
例如,我想将其 iFrame 到我自己的网页上。这两天我无法克服这个问题,我读了很多这方面的帖子,也从头开始尝试了另一个应用程序,但还没有运气。
为了澄清起见,我使用渲染函数在框架内重定向用户。正如 @theMaster 提到的,它不是一个多页面 Web 应用程序。
这是我的 doGet 和 Render 函数:
function doGet(e){
// Logger.log(e);
Route.path("login",loadLogin);
Route.path("admin",loadAdmin);
Route.path("view",loadView);
Route.path("form",loadForm);
if (e.parameters.id){
LastID=e.parameters.id[0];
}
if (e.parameters.t){
curT=e.parameters.t[0];
}
if (Route[e.parameters.v]) {
return Route[e.parameters.v]();
} else {
return render('W-home');
}
}
function render(file, argObject){
var page = HtmlService.createTemplateFromFile(file);
if (argObject){
var keys = Object.keys(argObject);
keys.forEach(function (k){
page[k]=argObject[k];
});
}
var evalPage =page.evaluate();
// if (!xFrame){return evalPage;};
return evalPage.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
}
Run Code Online (Sandbox Code Playgroud)
我可以从主页转到登录页面,但之后,即使它也不让我去谷歌。在某些情况下,也只是返回框架内的空白页面。
这是我的客户端 JavaScript 示例代码。
function goToForm(EmpNo) …Run Code Online (Sandbox Code Playgroud) 我想检查在运行代码时是否加载了用户表单。我尝试了几种方法,没有人工作。我记得我以前这样做过,但我不记得我的解决方法。任何的想法?
我在这里和其他地方找到了一些解决方案,但它们也不起作用!
问题是……
这是我的尝试:
Public Function IsFormVisible(FrmName As String) As Boolean
On Error GoTo errorH
IsFormVisible = False
Set Frm = UserForms(FrmName)
If Not Frm Is Nothing Then IsFormVisible = True
End Function
errorH:
IsFormVisible = False
End Function
Run Code Online (Sandbox Code Playgroud)
Public Function IsFormVisible(FrmName As String) As Boolean
Dim Frm As UserForm
On Error GoTo errorH
IsFormVisible = False
For Each Frm In VBA.UserForms
If Frm.Name = FrmName Then
IsFormVisible = True
Exit Function
End If
Next
errorH:
IsFormVisible …Run Code Online (Sandbox Code Playgroud)