如何部署Google Script项目,使所有自有Google Sheets可调用VIN解码自定义函数
谷歌表格VIN解码器私有插件部署步骤
以下是无需复制代码到每个表格、仅对个人或所属域名开放的部署操作步骤:
前置代码优化(可选)
你提供的代码中vinGVWR函数存在硬编码VIN的问题,建议先修正后再部署:
// 原硬编码版本 // function vinGVWR (theVin) {return (decodeVIN('1FTYR2CM2KKB15306', 'Gross Vehicle Weight Rating From'))} // 修正后的版本 function vinGVWR (theVIN) {return (decodeVIN(theVIN, 'Gross Vehicle Weight Rating From'))}
方案1:部署为私有库(轻量快速,适合个人/少量表格使用)
无需走完整插件审核流程,5分钟即可配置完成:
- 打开任意谷歌表格,点击「扩展程序」>「Apps Script」进入脚本编辑器
- 删除默认的
myFunction代码,粘贴你整理好的VIN解码代码,点击左上角保存,将项目重命名为「VIN解码器私有库」 - 点击右上角「部署」>「新建部署」,点击弹窗左上角的齿轮设置图标,选择部署类型为「库」
- 填写版本描述(如V1.0初始版),「谁可以访问」按需选择:仅个人使用选「仅限我自己」,同域名共用选「[你的企业域名]内的任何人」
- 点击「部署」完成授权后,复制弹窗生成的脚本ID留存备用,点击「完成」关闭弹窗
- 打开需要使用VIN函数的目标表格,同样进入「扩展程序」>「Apps Script」,点击左侧「库」旁边的加号
- 粘贴刚才复制的脚本ID,点击「查找」,确认查到你部署的库后,版本选择最新版,「标识符」自定义填写(比如填
VINLib),点击「添加」 - 在当前目标表格的脚本编辑器中粘贴以下映射代码,保存后刷新表格即可直接调用公式:
// 注意代码中的VINLib要和你刚才填的库标识符完全一致 function decodeVIN(theVIN,theVariable) {return VINLib.decodeVIN(theVIN,theVariable)} function vinYear(theVIN) {return VINLib.vinYear(theVIN)} function vinMake (theVIN) {return VINLib.vinMake(theVIN)} function vinSeries (theVIN) {return VINLib.vinSeries(theVIN)} function vinModel (theVIN) {return VINLib.vinModel(theVIN)} function vinGVWR (theVIN) {return VINLib.vinGVWR(theVIN)}
配置完成后即可直接在单元格输入=vinModel("1FTYR2CM2KKB15306")这类公式获取结果。
方案2:部署为企业私有插件(适合域名内大量用户使用,无需每个表格配置)
如果域名下有大量表格需要调用,可部署为正式Google Workspace编辑器插件,安装一次即可在所有表格生效:
- 回到VIN解码器的脚本编辑器,点击左侧齿轮「项目设置」,勾选「在编辑器中显示appsscript.json清单文件」
- 回到代码编辑页,打开自动生成的
appsscript.json文件,替换为以下配置:
{ "timeZone": "Asia/Shanghai", "dependencies": {}, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8", "addOns": { "sheets": { "homepageTrigger": { "runFunction": "onHomepage" } } }, "oauthScopes": [ "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/spreadsheets" ], "urlFetchWhitelist": [ "https://vpic.nhtsa.dot.gov/api/" ] }
- 新建一个脚本文件命名为
Homepage.gs,粘贴以下代码:
function onHomepage(e) { return CardService.newCardBuilder() .setHeader(CardService.newCardHeader().setTitle("VIN解码器")) .addSection(CardService.newCardSection().addWidget(CardService.newTextParagraph().setText("已加载VIN解码自定义函数,可直接在单元格输入公式使用"))) .build(); }
- 点击「部署」>「新建部署」,部署类型选择「Google Workspace 插件」,按提示填写插件名称、说明、图标信息,访问权限选择仅个人或同域名用户,部署后提交到企业私有插件市场即可,所有有权限的用户安装插件后无需额外配置即可直接调用所有VIN相关公式。
内容的提问来源于stack exchange,提问作者Michael Bonamassa
相关产品推荐
相关产品推荐

