#経緯
お世話になります。
SlideAppをGoogleAppsScriptで操作しています。
あるスライドを渡すと、そのスライド内の全テキストボックスの文字列を翻訳して、(翻訳前テキスト+翻訳後テキスト)としてテキストボックスに戻す、というスクリプトを作っています。
#解決したいこと
翻訳前テキスト+翻訳後テキストを同じテキストボックスにセットするのですが、
翻訳語テキスト部分だけのフォントサイズですとか、背景色を変えたいのですがうまくいきません。
javascript
1//イメージ 2 var textBefore = "こんにちは、世界。"; 3 var textAfter = "Hello,World."; 4 shape.getText().setText(textBefore + "\n" + textAfter); 5//ここでtextAfter部分の文字列だけFontstyleを変更したい。 6
フォントサイズを変更しようとするとテキストボックス全部に変更が適用されてしまいます。
ひとつのテキストボックス内で、Fontstyleを変える方法をご教示頂けたらと思います。
何卒宜しくお願い致します。
###現在のコード
現在の下記コードですとテキストボックス内のフォントサイズが12で統一されてしまいます。
Javascript
1 var presentation = SlidesApp.getActivePresentation(); 2 var slides = presentation.getSlides(); 3 4 slides.forEach(function(slide){ 5 shapes = slide.getShapes(); 6 shapes.forEach(function(shape){ 7 var rangeA = shape.getText(); 8 var textBefore = rangeA.asString(); 9 var textAfter = LanguageApp.translate(textBefore, "ja", "en"); 10 rangeA.setText(textBefore + "\n" + textAfter); 11 rangeA.getTextStyle().setFontSize(12); 12 }) 13 })
自分でやったこと
shape.getText()のあと、getParagraph();して改行単位でテキストを扱おうとしましたができませんでした。
getText()でTextrange配下のオブジェクトの階層構造がよくわかっていない故に悩んでいると思うのですが、その辺も含めてご教示いただければ幸いです。宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/02 14:42