簡體   English   中英

用於格式化 Google 幻燈片上選定文本的 Apps 腳本

[英]Apps script to format selected text on a Google Slide

我正在嘗試創建一個腳本來格式化 Google 幻燈片上的選定文本(由用戶使用鼠標選擇)。 例如,腳本可能會將所選文本更改為 Arial 字體,字號 11,左對齊。

我知道如何創建一個新的菜單項來在幻燈片中運行腳本 - 所以我已經解決了這部分難題。

我試過轉換為 Google 表格創建的類似腳本......但它似乎不適用於幻燈片。

這是我到目前為止所擁有的:

function onOpen() {
let ui = SlidesApp.getUi();
ui.createMenu('Macros').addItem('ParagraphFormat', 
'ParagraphFormat').addToUi();  
};

function ParagraphFormat() {
var slide = SlidesApp.getActivePresentation();
slide.getSelection()
.setFontSize(11)
.setFontFamily('Arial');
};

我相信你的目標如下。

  • 您想要更改 Google 幻燈片文本框中所選文本的文本樣式。

getSelection()返回 Class 選擇。 在這種情況下,沒有setFontSizesetFontFamily方法。 我認為這就是您當前問題的原因。 當你想對選中的文字使用setFontSizesetFontFamily時,下面的修改怎么樣?

從:

slide.getSelection()
.setFontSize(11)
.setFontFamily('Arial');

到:

var textRange = slide.getSelection().getTextRange();
if (textRange) {
  textRange.getTextStyle().setFontSize(11).setFontFamily('Arial');
}
  • 當您使用此修改時,請在文本框中輸入 select 文本並運行腳本。 由此, setFontSizesetFontFamily反映在所選文本中。

參考:

添加:

關於您的新問題“ One more cheeky question: how would I add one more property to align the text to the left? (eg. adding.setTextAlignment('left')... but this doesn't work) One more cheeky question: how would I add one more property to align the text to the left? (eg. adding.setTextAlignment('left')... but this doesn't work) ,在當前階段,只有部分文本文本框的文本無法對齊。 因此,在這種情況下,可以對齊所選文本的段落。 如果你想這樣做,下面的示例腳本怎么樣?

var textRange = slide.getSelection().getTextRange();
if (textRange) {
  textRange.getTextStyle().setFontSize(11).setFontFamily('Arial');
  textRange.getParagraphStyle().setParagraphAlignment(SlidesApp.ParagraphAlignment.START);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM