Google 中的 GAS getPageElementType 幻灯片记录输出过大。截断输出
GAS getPageElementType in Google Slides Logging output too large. Truncating output
使用 getPageElementType 有技巧吗?
如果您使用此功能,您会收到“记录输出太大。截断输出。pe 类型”,然后是一些无意义的转储。确定页面元素类型的唯一方法是使用 select / case 结构并遍历整个枚举吗?
这是我的代码:
function minimalCode() {
const presentation = SlidesApp.getActivePresentation();
const slides = presentation.getSlides();
slides.forEach(slide => {
slide.getPageElements().forEach(pe => {
if (pe.getPageElementType() === 'SHAPE')
console.log('pe type: SHAPE' );
else
console.log('keep quessing the pe type - it is not a SHAPE' );
console.log('- - - - - - - - - - - ' );
console.log('pe type: ', pe.getPageElementType() )
return;
} ); // for each pe
return;
} ); // for each slide
}
结果如下:
Mar 10, 2021, 2:35:47 PM Debug keep quessing the pe type - it is not a SHAPE
Mar 10, 2021, 2:35:47 PM Debug - - - - - - - - - - -
Mar 10, 2021, 2:35:47 PM Debug Logging output too large. Truncating output. pe type: { toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Circular],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
SHAPE: [Circular],
IMAGE:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Circular],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
VIDEO:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Circular],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
TABLE:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Circular],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
GROUP:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Circular],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
LINE:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Circular],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
WORD_ART:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Circular],
SHEETS_CHART: [Object],
AUDIO: [Object] },
SHEETS_CHART:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Circular],
AUDIO: [Object] },
AUDIO:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Circular] } },
UNSUPPORTED:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Circular],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
UNSUPPORTED: [Circular],
SHAPE: [Circular],
IMAGE:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Object],
UNSUPPORTED: [Circular],
SHAPE: [Circular],
IMAGE: [Circular],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
VIDEO:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Object],
UNSUPPORTED: [Circular],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Circular],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
TABLE:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Object],
UNSUPPORTED: [Circular],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Circular],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
GROUP:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Object],
UNSUPPORTED: [Circular],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Circular],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
LINE:
{ toString: [Function: toString],
name: [Function:
Console.log() outputs a blank DEBUG level message to Stackdriver Logging. You can use Logger.log(data) 代替。
示例代码:
function minimalCode() {
const presentation = SlidesApp.getActivePresentation();
const slides = presentation.getSlides();
slides.forEach(slide => {
slide.getPageElements().forEach(pe => {
if (pe.getPageElementType() === "SHAPE")
Logger.log('pe type: SHAPE' );
else
Logger.log('keep quessing the pe type - it is not a SHAPE' );
Logger.log('- - - - - - - - - - - ' );
Logger.log('pe type: '+ pe.getPageElementType() )
return;
} ); // for each pe
return;
} ); // for each slide
}
输出:
6:21:38 AM Notice Execution started
6:21:40 AM Info keep quessing the pe type - it is not a SHAPE
6:21:40 AM Info - - - - - - - - - - -
6:21:40 AM Info pe type: SHAPE
6:21:40 AM Info keep quessing the pe type - it is not a SHAPE
6:21:40 AM Info - - - - - - - - - - -
6:21:40 AM Info pe type: IMAGE
6:21:40 AM Info keep quessing the pe type - it is not a SHAPE
6:21:40 AM Info - - - - - - - - - - -
6:21:40 AM Info pe type: TABLE
6:21:40 AM Notice
注:
- 在您当前的代码中,即使页面元素类型已经是
SHAPE
,也没有触发 if 条件。要解决此问题,请使用 if (pe.getPageElementType() == "SHAPE")
输出:
6:27:30 AM Notice Execution started
6:27:31 AM Info pe type: SHAPE
6:27:31 AM Info - - - - - - - - - - -
6:27:31 AM Info pe type: SHAPE
6:27:31 AM Info keep quessing the pe type - it is not a SHAPE
6:27:31 AM Info - - - - - - - - - - -
6:27:31 AM Info pe type: IMAGE
6:27:31 AM Info keep quessing the pe type - it is not a SHAPE
6:27:31 AM Info - - - - - - - - - - -
6:27:31 AM Info pe type: TABLE
6:27:31 AM Notice Execution completed
是的,有一个技巧。当您调用 getPageElementType()
时,它 returns 是一个枚举类型。该枚举类型的值根据其使用的上下文而不同。
当您使用它通过 getPageElementType() === "SHAPE"
测试相等性时,它被评估为一个字符串,并且在幕后 toString()
方法被隐式调用 getPageElementType()
返回的枚举类型,其中 returns 字符串 "SHAPE"
,因此相等性测试的计算结果为 TRUE。
当您将该枚举类型传递给 console.log()
时,枚举类型被评估为一个对象,并且它的所有可枚举属性都被打印出来。
如果您想从 console.log()
中打印出字符串表示形式,您必须显式调用枚举类型的 toString()
方法(这适用于 Apps 脚本中的所有枚举类型)。
所以,简而言之,这样做:
function minimalCode() {
const presentation = SlidesApp.getActivePresentation();
const slides = presentation.getSlides();
slides.forEach(slide => {
slide.getPageElements().forEach(pe => {
if (pe.getPageElementType() === 'SHAPE')
console.log('pe type: SHAPE' );
else
console.log('keep quessing the pe type - it is not a SHAPE' );
console.log('- - - - - - - - - - - ' );
console.log('pe type: ', pe.getPageElementType().toString());
return;
} ); // for each pe
return;
} ); // for each slide
}
使用 getPageElementType 有技巧吗?
如果您使用此功能,您会收到“记录输出太大。截断输出。pe 类型”,然后是一些无意义的转储。确定页面元素类型的唯一方法是使用 select / case 结构并遍历整个枚举吗?
这是我的代码:
function minimalCode() {
const presentation = SlidesApp.getActivePresentation();
const slides = presentation.getSlides();
slides.forEach(slide => {
slide.getPageElements().forEach(pe => {
if (pe.getPageElementType() === 'SHAPE')
console.log('pe type: SHAPE' );
else
console.log('keep quessing the pe type - it is not a SHAPE' );
console.log('- - - - - - - - - - - ' );
console.log('pe type: ', pe.getPageElementType() )
return;
} ); // for each pe
return;
} ); // for each slide
}
结果如下:
Mar 10, 2021, 2:35:47 PM Debug keep quessing the pe type - it is not a SHAPE
Mar 10, 2021, 2:35:47 PM Debug - - - - - - - - - - -
Mar 10, 2021, 2:35:47 PM Debug Logging output too large. Truncating output. pe type: { toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Circular],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
SHAPE: [Circular],
IMAGE:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Circular],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
VIDEO:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Circular],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
TABLE:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Circular],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
GROUP:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Circular],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
LINE:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Circular],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
WORD_ART:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Circular],
SHEETS_CHART: [Object],
AUDIO: [Object] },
SHEETS_CHART:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Circular],
AUDIO: [Object] },
AUDIO:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Object],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Circular] } },
UNSUPPORTED:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Circular],
UNSUPPORTED: [Circular],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
UNSUPPORTED: [Circular],
SHAPE: [Circular],
IMAGE:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Object],
UNSUPPORTED: [Circular],
SHAPE: [Circular],
IMAGE: [Circular],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
VIDEO:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Object],
UNSUPPORTED: [Circular],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Circular],
TABLE: [Object],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
TABLE:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Object],
UNSUPPORTED: [Circular],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Circular],
GROUP: [Object],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
GROUP:
{ toString: [Function: toString],
name: [Function: toString],
toJSON: [Function: toString],
ordinal: [Function: ordinal],
compareTo: [Function: compareTo],
UNSUPPORTED_PAGE_ELEMENT: [Object],
UNSUPPORTED: [Circular],
SHAPE: [Circular],
IMAGE: [Object],
VIDEO: [Object],
TABLE: [Object],
GROUP: [Circular],
LINE: [Object],
WORD_ART: [Object],
SHEETS_CHART: [Object],
AUDIO: [Object] },
LINE:
{ toString: [Function: toString],
name: [Function:
Console.log() outputs a blank DEBUG level message to Stackdriver Logging. You can use Logger.log(data) 代替。
示例代码:
function minimalCode() {
const presentation = SlidesApp.getActivePresentation();
const slides = presentation.getSlides();
slides.forEach(slide => {
slide.getPageElements().forEach(pe => {
if (pe.getPageElementType() === "SHAPE")
Logger.log('pe type: SHAPE' );
else
Logger.log('keep quessing the pe type - it is not a SHAPE' );
Logger.log('- - - - - - - - - - - ' );
Logger.log('pe type: '+ pe.getPageElementType() )
return;
} ); // for each pe
return;
} ); // for each slide
}
输出:
6:21:38 AM Notice Execution started
6:21:40 AM Info keep quessing the pe type - it is not a SHAPE
6:21:40 AM Info - - - - - - - - - - -
6:21:40 AM Info pe type: SHAPE
6:21:40 AM Info keep quessing the pe type - it is not a SHAPE
6:21:40 AM Info - - - - - - - - - - -
6:21:40 AM Info pe type: IMAGE
6:21:40 AM Info keep quessing the pe type - it is not a SHAPE
6:21:40 AM Info - - - - - - - - - - -
6:21:40 AM Info pe type: TABLE
6:21:40 AM Notice
注:
- 在您当前的代码中,即使页面元素类型已经是
SHAPE
,也没有触发 if 条件。要解决此问题,请使用if (pe.getPageElementType() == "SHAPE")
输出:
6:27:30 AM Notice Execution started
6:27:31 AM Info pe type: SHAPE
6:27:31 AM Info - - - - - - - - - - -
6:27:31 AM Info pe type: SHAPE
6:27:31 AM Info keep quessing the pe type - it is not a SHAPE
6:27:31 AM Info - - - - - - - - - - -
6:27:31 AM Info pe type: IMAGE
6:27:31 AM Info keep quessing the pe type - it is not a SHAPE
6:27:31 AM Info - - - - - - - - - - -
6:27:31 AM Info pe type: TABLE
6:27:31 AM Notice Execution completed
是的,有一个技巧。当您调用 getPageElementType()
时,它 returns 是一个枚举类型。该枚举类型的值根据其使用的上下文而不同。
当您使用它通过 getPageElementType() === "SHAPE"
测试相等性时,它被评估为一个字符串,并且在幕后 toString()
方法被隐式调用 getPageElementType()
返回的枚举类型,其中 returns 字符串 "SHAPE"
,因此相等性测试的计算结果为 TRUE。
当您将该枚举类型传递给 console.log()
时,枚举类型被评估为一个对象,并且它的所有可枚举属性都被打印出来。
如果您想从 console.log()
中打印出字符串表示形式,您必须显式调用枚举类型的 toString()
方法(这适用于 Apps 脚本中的所有枚举类型)。
所以,简而言之,这样做:
function minimalCode() {
const presentation = SlidesApp.getActivePresentation();
const slides = presentation.getSlides();
slides.forEach(slide => {
slide.getPageElements().forEach(pe => {
if (pe.getPageElementType() === 'SHAPE')
console.log('pe type: SHAPE' );
else
console.log('keep quessing the pe type - it is not a SHAPE' );
console.log('- - - - - - - - - - - ' );
console.log('pe type: ', pe.getPageElementType().toString());
return;
} ); // for each pe
return;
} ); // for each slide
}