I would like to insert a link into a text (word), but I can't find a way to do the trick. There is no function in the offical Documentation https://developers.google.cn/apps-script/reference/slides/page-element .
I tried something like this:
var pageElement = SlidesApp.openById('12hh9vWVhFdj9kH51U-07Rc5yc9gKitJ3f_sr1I38lQQYUDB').getSlides()[0]; pageElement.replaceAllText("Bonjour", "Aurevoir" + **link associated**);
The second line is where i can't find a way to do the trick.
How to insert a hyperlink into the text replaced ?
Thanks
updateTextStyle
Sample code:
function myFunction() {
var presentationId = "XXXX";
var newText = "Aurevoir";
var oldText = "Bonjour";
var presentation = SlidesApp.openById(presentationId);
var pageElement = presentation.getSlides()[0];
pageElement.replaceAllText(oldText, newText);
presentation.saveAndClose();
var newLink = "www.stackoverflow.com";
var pageElement = SlidesApp.openById(presentationId).getSlides()[0];
var elements = pageElement.getPageElements();
var requests =[];
for( var i = 0; i < elements.length; i++){
var element = elements[i];
if(element.getPageElementType() == "SHAPE"){
var text = element.asShape().getText().find(newText);
if(text.length > 0){
var objectId = element.getObjectId();
for (var j =0; j < text.length; j++){
var start = text[j].getStartIndex();
var end = text[j].getEndIndex();
requests.push(
{
updateTextStyle: {
objectId: objectId,
textRange: {
startIndex: start,
endIndex: end,
type: "FIXED_RANGE"
},
fields: 'link',
style: {
link: {
url: newLink
}
}
}
}
);
Slides.Presentations.batchUpdate({'requests': requests}, presentationId);
}
}
}
}
}