使用 Apps 脚本在 Google 文档中的选定表格上追加新行
Append a New Row on selected Tables in Google Docs with Apps Script
我有一个 Google 文档,其中有 4 table 个,每个 table 包含:编号、日期、会话、名称、Class 年份和部门.
因此,每当提交任何新的 google 表单时,它都会根据受访者选择的部门和日期更新并查找文档和 table。所以脚本已经能够找到文档并根据日期填充 table,但问题是它在第二天 table 附加了箭头。例子:受访者选择的日期是05/02/2021,那么应该也加上05/02/2021table对吧?而不是 06/02/2021。
Google Docs tables (before)
Google Docs tables (after a new response)
function appendTable(){
if (pilihan1 == 'Advokasi dan Kesejahteraan Mahasiswa (ADVOKESMA)'){
var range = bodyJadwalAdvo.findText(screening);
var searchElement = bodyJadwalAdvo.findElement(DocumentApp.ElementType.TABLE, range);
} else if (pilihan1 == 'Pengembangan Sumber Daya Mahasiswa (PSDM)'){
var range = bodyJadwalPsdm.findText(screening);
var searchElement = bodyJadwalPsdm.findElement(DocumentApp.ElementType.TABLE, range);
} else if (pilihan1 == 'Informasi dan Komunikasi (INFOKOM)'){
var range = bodyJadwalInfokom.findText(screening);
var searchElement = bodyJadwalInfokom.findElement(DocumentApp.ElementType.TABLE, range);
} else if (pilihan1 == 'Sosial Masyarakat (SOSMA)'){
var range = bodyJadwalSosma.findText(screening);
var searchElement = bodyJadwalSosma.findElement(DocumentApp.ElementType.TABLE, range);
} else if (pilihan1 == 'Bisnis'){
var range = bodyJadwalSosma.findText(screening);
var searchElement = bodyJadwalSosma.findElement(DocumentApp.ElementType.TABLE, range);
}
element = searchElement.getElement();
table = element.asTable();
var tr = table.appendTableRow();
function replaceBodyJadwal(depart){
if(screening == '05/02/2021'){
depart.replaceText('{{TanggalA}}', screening);
depart.replaceText('{{NamaLengkapA}}', namaLengkap);
depart.replaceText('{{AngkatanA}}', angkatan);
depart.replaceText('{{Pilihan2A}}', pilihan2);
tr.appendTableCell(" ");
tr.appendTableCell("{{TanggalA}}");
tr.appendTableCell(" ");
tr.appendTableCell("{{NamaLengkapA}}");
tr.appendTableCell("{{AngkatanA}}");
tr.appendTableCell("{{Pilihan2A}}");
} else if (screening == '06/02/2021'){
depart.replaceText('{{TanggalB}}', screening);
depart.replaceText('{{NamaLengkapB}}', namaLengkap);
depart.replaceText('{{AngkatanB}}', angkatan);
depart.replaceText('{{Pilihan2B}}', pilihan2);
tr.appendTableCell(" ");
tr.appendTableCell("{{TanggalB}}");
tr.appendTableCell(" ");
tr.appendTableCell("{{NamaLengkapB}}");
tr.appendTableCell("{{AngkatanB}}");
tr.appendTableCell("{{Pilihan2B}}");
} else if (screening == '07/02/2021'){
depart.replaceText('{{TanggalC}}', screening);
depart.replaceText('{{NamaLengkapC}}', namaLengkap);
depart.replaceText('{{AngkatanC}}', angkatan);
depart.replaceText('{{Pilihan2C}}', pilihan2);
tr.appendTableCell(" ");
tr.appendTableCell("{{TanggalC}}");
tr.appendTableCell(" ");
tr.appendTableCell("{{NamaLengkapC}}");
tr.appendTableCell("{{AngkatanC}}");
tr.appendTableCell("{{Pilihan2C}}");
} else if (screening == '08/02/2021'){
depart.replaceText('{{TanggalD}}', screening);
depart.replaceText('{{NamaLengkapD}}', namaLengkap);
depart.replaceText('{{AngkatanD}}', angkatan);
depart.replaceText('{{Pilihan2D}}', pilihan2);
tr.appendTableCell(" ");
tr.appendTableCell("{{TanggalD}}");
tr.appendTableCell(" ");
tr.appendTableCell("{{NamaLengkapD}}");
tr.appendTableCell("{{AngkatanD}}");
tr.appendTableCell("{{Pilihan2D}}");
}
}
if (pilihan1 == 'Advokasi dan Kesejahteraan Mahasiswa (ADVOKESMA)'){
replaceBodyJadwal(bodyJadwalAdvo);
} else if (pilihan1 == 'Pengembangan Sumber Daya Mahasiswa (PSDM)'){
replaceBodyJadwal(bodyJadwalPsdm);
} else if (pilihan1 == 'Informasi dan Komunikasi (INFOKOM)'){
replaceBodyJadwal(bodyJadwalInfokom);
} else if (pilihan1 == 'Sosial Masyarakat (SOSMA)'){
replaceBodyJadwal(bodyJadwalSosma);
} else if (pilihan1 == 'Bisnis'){
replaceBodyJadwal(bodyJadwalBisnis);
}
}
已解决。
function cariTabel(bodyJadwalDepartemen){
if(screening=='05/02/2021'){
screeningJadwal=null;
var range = null;
} else {
if(screening=='06/02/2021'){
screeningJadwal='05/02/2021';
} else if(screening=='07/02/2021'){
screeningJadwal='06/02/2021';
} else if(screening=='08/02/2021'){
screeningJadwal='07/02/2021';
}
var range = bodyJadwalDepartemen.findText(screeningJadwal);
}
searchElement = bodyJadwalDepartemen.findElement(DocumentApp.ElementType.TABLE, range);
}
我有一个 Google 文档,其中有 4 table 个,每个 table 包含:编号、日期、会话、名称、Class 年份和部门.
因此,每当提交任何新的 google 表单时,它都会根据受访者选择的部门和日期更新并查找文档和 table。所以脚本已经能够找到文档并根据日期填充 table,但问题是它在第二天 table 附加了箭头。例子:受访者选择的日期是05/02/2021,那么应该也加上05/02/2021table对吧?而不是 06/02/2021。
Google Docs tables (before)
Google Docs tables (after a new response)
function appendTable(){
if (pilihan1 == 'Advokasi dan Kesejahteraan Mahasiswa (ADVOKESMA)'){
var range = bodyJadwalAdvo.findText(screening);
var searchElement = bodyJadwalAdvo.findElement(DocumentApp.ElementType.TABLE, range);
} else if (pilihan1 == 'Pengembangan Sumber Daya Mahasiswa (PSDM)'){
var range = bodyJadwalPsdm.findText(screening);
var searchElement = bodyJadwalPsdm.findElement(DocumentApp.ElementType.TABLE, range);
} else if (pilihan1 == 'Informasi dan Komunikasi (INFOKOM)'){
var range = bodyJadwalInfokom.findText(screening);
var searchElement = bodyJadwalInfokom.findElement(DocumentApp.ElementType.TABLE, range);
} else if (pilihan1 == 'Sosial Masyarakat (SOSMA)'){
var range = bodyJadwalSosma.findText(screening);
var searchElement = bodyJadwalSosma.findElement(DocumentApp.ElementType.TABLE, range);
} else if (pilihan1 == 'Bisnis'){
var range = bodyJadwalSosma.findText(screening);
var searchElement = bodyJadwalSosma.findElement(DocumentApp.ElementType.TABLE, range);
}
element = searchElement.getElement();
table = element.asTable();
var tr = table.appendTableRow();
function replaceBodyJadwal(depart){
if(screening == '05/02/2021'){
depart.replaceText('{{TanggalA}}', screening);
depart.replaceText('{{NamaLengkapA}}', namaLengkap);
depart.replaceText('{{AngkatanA}}', angkatan);
depart.replaceText('{{Pilihan2A}}', pilihan2);
tr.appendTableCell(" ");
tr.appendTableCell("{{TanggalA}}");
tr.appendTableCell(" ");
tr.appendTableCell("{{NamaLengkapA}}");
tr.appendTableCell("{{AngkatanA}}");
tr.appendTableCell("{{Pilihan2A}}");
} else if (screening == '06/02/2021'){
depart.replaceText('{{TanggalB}}', screening);
depart.replaceText('{{NamaLengkapB}}', namaLengkap);
depart.replaceText('{{AngkatanB}}', angkatan);
depart.replaceText('{{Pilihan2B}}', pilihan2);
tr.appendTableCell(" ");
tr.appendTableCell("{{TanggalB}}");
tr.appendTableCell(" ");
tr.appendTableCell("{{NamaLengkapB}}");
tr.appendTableCell("{{AngkatanB}}");
tr.appendTableCell("{{Pilihan2B}}");
} else if (screening == '07/02/2021'){
depart.replaceText('{{TanggalC}}', screening);
depart.replaceText('{{NamaLengkapC}}', namaLengkap);
depart.replaceText('{{AngkatanC}}', angkatan);
depart.replaceText('{{Pilihan2C}}', pilihan2);
tr.appendTableCell(" ");
tr.appendTableCell("{{TanggalC}}");
tr.appendTableCell(" ");
tr.appendTableCell("{{NamaLengkapC}}");
tr.appendTableCell("{{AngkatanC}}");
tr.appendTableCell("{{Pilihan2C}}");
} else if (screening == '08/02/2021'){
depart.replaceText('{{TanggalD}}', screening);
depart.replaceText('{{NamaLengkapD}}', namaLengkap);
depart.replaceText('{{AngkatanD}}', angkatan);
depart.replaceText('{{Pilihan2D}}', pilihan2);
tr.appendTableCell(" ");
tr.appendTableCell("{{TanggalD}}");
tr.appendTableCell(" ");
tr.appendTableCell("{{NamaLengkapD}}");
tr.appendTableCell("{{AngkatanD}}");
tr.appendTableCell("{{Pilihan2D}}");
}
}
if (pilihan1 == 'Advokasi dan Kesejahteraan Mahasiswa (ADVOKESMA)'){
replaceBodyJadwal(bodyJadwalAdvo);
} else if (pilihan1 == 'Pengembangan Sumber Daya Mahasiswa (PSDM)'){
replaceBodyJadwal(bodyJadwalPsdm);
} else if (pilihan1 == 'Informasi dan Komunikasi (INFOKOM)'){
replaceBodyJadwal(bodyJadwalInfokom);
} else if (pilihan1 == 'Sosial Masyarakat (SOSMA)'){
replaceBodyJadwal(bodyJadwalSosma);
} else if (pilihan1 == 'Bisnis'){
replaceBodyJadwal(bodyJadwalBisnis);
}
}
已解决。
function cariTabel(bodyJadwalDepartemen){
if(screening=='05/02/2021'){
screeningJadwal=null;
var range = null;
} else {
if(screening=='06/02/2021'){
screeningJadwal='05/02/2021';
} else if(screening=='07/02/2021'){
screeningJadwal='06/02/2021';
} else if(screening=='08/02/2021'){
screeningJadwal='07/02/2021';
}
var range = bodyJadwalDepartemen.findText(screeningJadwal);
}
searchElement = bodyJadwalDepartemen.findElement(DocumentApp.ElementType.TABLE, range);
}