Google Apps Script 、コード公開されている方がたくさんいらっしゃいますが、
やはり主にスプレッドシートが主戦場っぽいですね。
GASの真骨頂はGoogleWorkSpaceのアプリ連携と考えています。
ですので、スプレッドシート以外のアプリで使えるGASも紹介していきたいと思います。
Googleスライドを翻訳してラクをしたい!!
function onOpen() {
const ui = SlidesApp.getUi();
ui.createMenu('マルチ翻訳')
.addItem('日本語→英語', 'jaToEn')
.addItem('英語→日本語', 'enToJa')
.addItem('日本語→ドイツ語', 'jaToDe')
.addItem('ドイツ語→日本語', 'deToJa')
.addItem('日本語→スペイン語', 'jaToEs')
.addItem('スペイン語→日本語', 'esToJa')
.addToUi();
}
function jaToEn(){
multitranslate("ja","en")
}
function enToJa(){
multitranslate("en","ja")
}
function jaToDe(){
multitranslate("ja","de")
}
function deToJa(){
multitranslate("de","ja")
}
function jaToEs(){
multitranslate("ja","es")
}
function esToJa(){
multitranslate("es","ja")
}
function multitranslate(ori,tar){
const slide = SlidesApp.getActivePresentation();
const kekka = slide.getSlides().map(x => x.getShapes().map(y => translate(y.getText().asString(),ori,tar)))
slide.getSlides().map(x => x.getShapes().map(y => translate(y.getText().asString(),ori,tar)))
for(let i=0;i<kekka.length;i++){
for(let j=0;j<kekka[i].length;j++){
slide.getSlides()[i].getShapes()[j].getText().setText(kekka[i][j])
}}}
function translate(txt,source,target){
return LanguageApp.translate(txt,source,target)}
Googleスライドのテキストを複数言語同士で翻訳することができます。
テキストボックスに対して翻訳メソッドを適用しているので、テーブルのテキストには効かないのでそこは今後の課題ですね。