请问,PPT中插入多张位置不同的图片,为何最后只插入了一张?

阅读次数 192

最终结果只有图中绿色框选的图片被成功插入。

如何使两张图片都被插入到PPT中呢?

2 Answers

收到问题,我们将安排研发排查。 提供临时处理方式,供您参考:

async function execFunc(){
        // todo: init
        const app = instance.Application
		// 此处2个图片为例,如果多个,使用for循环即可
        await InsertImage(app , {
          FileName:
            'https://img8.file.cache.docer.com/storage/1626952237972828328/0e7c3a748ed2d065749b9659f54b679e.jpeg', // 来自「插入在线图片」的稻壳素材的图片
          LinkToFile: -1,
          SaveWithDocument: 0,
          Left: 0.1,
          Top: 0.1,
          Width: 0.3,
          Height: 0.3,
          Scale: true
        })
        
        await InsertImage(app , {
          FileName:
            'https://img8.file.cache.docer.com/storage/1626952237972828328/0e7c3a748ed2d065749b9659f54b679e.jpeg', // 来自「插入在线图片」的稻壳素材的图片
          LinkToFile: -1,
          SaveWithDocument: 0,
          Left: 300,
          Top: 300,
          Width: 200,
          Height: 100,
          Scale: false
        },true)
}

async function InsertImage(app,opts={},isLast=false){
        return new Promise(async (resolve,reject)=>{
          await app.ActivePresentation.SlideShowWindow.View.Slide.Shapes.AddPicture({
              ...opts
          })
          setTimeout(resolve, isLast? 0: 2000);
        })
      } 

正常情况都会插入ppt的呢。 可以试试注释掉第二个,测试下只执行第一个能否正常插入

目前不管执行多少次addPicture 只有最后一次会被执行插入。注释掉第二个,第一个是能被插入的,但目前的业务需求就是一次插入多张图片...

收到问题,将安排研发跟进排查。