當谷歌幻燈片中的一些物件被隱藏在另一個物件后面時,可能以后很難在幻燈片上找到它們。 例如,是否有可能看到一個面板,上面列出了存在于特定幻燈片上的所有物件?并且可以編輯它們,即使它們在底層(完全隱藏在另一個物件后面)?這對于影片來說可能很有用,當一個物件后來被顯示并完全覆寫了之前顯示的物件時。
uj5u.com熱心網友回復:
你的目標我相信如下。
你的目標是什么?
- 你的Google Slides有幾個相同大小和相同位置的文本框, 。
- 您希望從文本框中檢索文本串列,并希望使用一種更簡單的方法來更改文本。
在這種情況下,我認為當由 Google Apps Script 創建的側邊欄用于更改文本時,您的目標也許能夠簡單地實作。
示例腳本如下。
使用方法:
。1. 準備腳本:
請將以下腳本復制并粘貼到Google Slides的腳本編輯器中,并保存該腳本。然后,請重新打開Google Slides。這樣,Google Slides的自定義選單 "sample "就被創建了。當自定義選單 "sample "中的 "RUN "被打開時,該腳本就會被運行。
Code.gs
。請將此腳本復制并粘貼為Code.gs。
function onOpen(){
SlidesApp.getUi().createMenu("sample")。 addItem("RUN", "openSidebar").addToUi() 。
}
function openSidebar() {
const html = HtmlService. createHtmlOutputFromFile("index").setTitle("pleas")。
SlidesApp.getUi().showSidebar(HTML)。
}
function getSelectedShapes(/span>) {
const select = SlidesApp.getActivePresentation().getSelection() 。
const pageElementRange = select.getPageElementRange()。
if (pageElementRange) {
const obj = pageElementRange.getPageElements() 。 reduce((ar, e) =>/span> {
if (e.getPageElementType() == SlideApp. PageElementType.SHAPE) {
const shape = e.asShape() 。
ar.push({objectId: shape.getObjectId(), text: shape. getText().asString().trim()}) 。
}
return ar;
}, []).reverse()。
return obj;
}
return [];
}
function updatedTexts(o) {
const select = SlidesApp.getActivePresentation().getSelection() 。
const slide = select.getCurrentPage();
const obj = slide.getShapes() 。 reduce((o, e) => Object.assign(o, {[e. getObjectId()]: {shape: e, text: e. getText().asString().trim()}), {})。)
o.forEach(({objectId, text}) =>; {
if (obj[objectId] && obj[objectId].text != text) {
obj[objectId].shape.getText().setText(text)。
}
});
return "Done"。
index.html
請復制并粘貼這個腳本作為index.html。
< input type="button"/span> id="main" value="Get selected shapes" onClick="main()">
<div id="shapes"/span>> </div>>
< input type="button" id="update" value="Update texts" onClick="upedTexts()" style="display: none">
<script>
function main() {
document.getElementById("main").disabled =true;
document.getElementById("shapes").innerHTML = " ";
google.script.run.withSuccessHandler(o =>; {
if (o.length == 0) {
document.getElementById("update"/span>)。 style.display = "none"。
return;
}
const div = document.getElementById("shapes") 。
o.forEach(({objectId, text}) =>; {
const input = document.createElement("input")。
input.setAttribute("type"/span>, "text")。
input.setAttribute("id", objectId)。
input.setAttribute("value", text)。
div.appendChild(輸入)。
});
document.getElementById("update") 。 style.display = "";
document.getElementById("main").disabled = false;
}).getSelectedShapes()。
}
function updatedTexts() {
const inputs = document.getElementById("shapes"/span>)。 getElementsByTagName('input')。
const obj = [...inputs].map(e => ({objectId: e. id, text: e.value}) 。)
console.log(obj)
google.script.run。 withSuccessHandler(span class="hljs-params">e => console。 log(e)).updatedTexts(obj)。
}
</script>
2.測驗:
。請重新打開Google Slides。通過這個,自定義選單被創建。請打開 "樣本"-> "RUN"。通過這一點,側邊欄被打開。
- 請選擇Google Slides上的文本框。
- 點擊 "獲取選定的形狀 "按鈕。
- 通過這個,所選的文本框被檢索出來,你可以看到文本框的文本。
- 修改文本。
- 點擊 "更新文本 "按鈕。
- 通過這一點,修改后的文本反映在文本框中。
另外,你可以通過下面的演示影片看到它。
注:
- 這是一個簡單的示例腳本。所以請根據你的實際情況修改上述腳本和HTML樣式。
參考資料:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/330547.html
標籤:


