单击按钮时,我已将格式化的数据添加到“模态对话框”中
我也想在单击按钮时将showModalDialog()
的内容自动添加到剪贴板
使用以下代码生成模态,temp
是我要添加到剪贴板的输出
//Output to Html
var htmlOutput = HtmlService
.createHtmlOutput(temp)
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setWidth(600)
.setHeight(500);
SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Filter OptionList Maker');
编辑;好的,我想也许
Modal Dialog
可能是问题所在,而正确的问题可能是如何将格式化后的字符串temp
添加到剪贴板中这是我的格式化字符串意思的示例
filter {
target: element;
as: dropdown;
padding: 5;
summary: "Network Practice";
default: show-all;
multiple: true;
option {
label: "< 1 year";
selector: element["NETWORK PRACTICE"="< 1 year"];
}
option {
label: "1-3 years";
selector: element["NETWORK PRACTICE"="1-3 years"];
}
option {
label: "3-10 years";
selector: element["NETWORK PRACTICE"="3-10 years"];
}
option {
label: "> 10 years";
selector: element["NETWORK PRACTICE"=">10 years"];
}
}
我已经搜索了如何执行此操作,但没有找到解决方案
谢谢
最佳答案
您可以在html中创建textarea
,然后使用html中的按钮将其中的数据复制到剪贴板。
片段:
copy.html:
<textarea id="copy"><?=temp?></textarea>
<button>Copy</button>
<script type="text/javascript">
let t = document.getElementById('copy');
let copy = () => {
t.select();
document.execCommand('copy');
};
copy();//try copying without user click
let bt = document.querySelector('button');
bt.addEventListener('click', copy);
</script>
代码
//Output to Html
var template = HtmlService.createTemplateFromFile('copy');
template.temp = temp;
var htmlOutput = template.evaluate();
SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Filter OptionList Maker');
读书:
Interact with clipboard
HTML Template