google-apps-script - 更改样式 Browser.msgBox / 更改样式 Browser.msgBox
问题描述
我创建了一个管理车队库存的代码,它运行良好。
我想知道是否可以“美化”出现错误时显示的 Browser.msgBox。
我看了很多帖子,但我找不到。有可能做到吗?
function validation() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Flotte');
var values = s.getDataRange().getValues();
var values1 = s.getDataRange().getValues();
var choix = s.getRange("B5").getValue();
var nbr = s.getRange("E5").getValue();
var vaisseauSuppr = s.getRange("C5").getValue();
var vaisseauPlus = s.getRange("D5").getValue();
var nbrOrigin = s.getRange("E5").getValue();
var lr = s.getLastRow() + 1;
var lc = s.getLastColumn();
var present = false;
var addition = false;
// Si le produit n'est pas défini, on bloque tout de suite l'execution
if (choix.replace(' ', '') == "") {
Browser.msgBox("Veuillez choisir une action !");
}
if (nbr == "") {
Browser.msgBox("Veuillez définir un nombre en E5 !");
}
// Sinon, on fait l'opération
else {
for( var row = values.length -1; row >=6 ; --row ) {
// Gestion de la suppression
if(choix == "Supprimer") {
if (values[row][3] == vaisseauSuppr) {
if (nbrOrigin < values[row][4]) {
var result = values[row][4] - nbrOrigin;
s.getDataRange().getCell(row + 1, 5).setValue(result);
s.getRange("C5:E5").clearDataValidations();
s.getRange("B5:E5").clearContent();
break;
}
else {
s.getRange("C5:E5").clearDataValidations();
s.getRange("B5:E5").clearContent();
s.deleteRow(parseInt(row)+1);
}
}
}
// Gestion de l'addition
else {
addition = true;
if (values[row][3] == vaisseauPlus) {
var resultPlus = values[row][4] + nbrOrigin;
s.getDataRange().getCell(row + 1, 5).setValue(resultPlus);
s.getRange("C5:E5").clearDataValidations();
s.getRange("B5:E5").clearContent();
present = true;
break;
}
}
}
}
// Dans le cas où le vaisseau n'est pas présent, et qu'il s'agit d'une addition, on ajoute une ligne.
if (addition && !present) {
var lienRsi = s.getRange(lr, 2);
s.getRange("C5:E5").clearDataValidations();
s.getRange("B5:E5").clearContent();
s.getRange(lr, 3).setValue(vaisseauSuppr);
s.getRange(lr, 4).setValue(vaisseauPlus);
//Affichage du lien de page RSI :
lienRsi.setFormula('=HYPERLINK(query(IFERROR(IMPORTRANGE(importrange("xxxxxxxxxxxxxxxxxxxxxxxxxxx";"Données changeables!h3");UPPER("Bd vaisseaux!$f$6:$q"));importrange(importrange("xxxxxxxxxxxxxxxxxxxxxxxxxxx";"Données changeables!h3");LOWER("Bd vaisseaux!$f$6:$q")));"select Col12 where (Col1=\''+vaisseauPlus+'\')");"Caractéristiques")');
s.getRange(lr, 5).setValue(nbrOrigin);
}
// Trie de la plage de données :
var tri = s.getRange(9, 2, lr-1, 4);
tri.sort([{column: 3, ascending:true},{column: 4, ascending:true}]);
解决方案
如果“美化”是指更改弹出正文中的文本样式或其他内容,则可以通过HtmlService
在自定义对话框上使用来实现。在此处查看其文档。
推荐阅读
- java - 从控制器类型@RequestParam ArrayList 中获取 JS 变量
- c# - 当 exe 从启动时运行时 log4net 不记录,但在手动启动时工作正常
- php - laravel 无法更新用户
- javascript - 裁剪图标图像
- python - Python 中的 JSON 到 YAML:如何进行正确的字符串操作?
- c# - 为每个对象的行为创建脚本,而不是在对象脚本主体中编写所有内容
- django - Django Admin 找不到存在的数据:“也许它已被删除?”
- laravel - 无法将 vue 相关的 npm 包包含到我的 Laravel + Vue 项目中
- sql-server - 无法连接到 SQL Server 获取防火墙规则错误
- excel - ms excel中的多个连接饼图