Office.js的单元格内放置图片API

后端开发 2026-07-12

我已经使用Office.js将图片附加到工作表上。完成后,我想把图片放到单元格中。这可以在Excel网格中通过右键单击图片,然后选择“放置在单元格中”来完成。也可以使用VBA,通过类似这样的代码来实现:

Option Explicit

Sub placeWorksheetPictureInCell()
    Dim ws As Worksheet

    Set ws = ActiveSheet

    ws.Shapes.Range("picture_name").Select
    ws.Shapes("picture_name").PlacePictureInCell
End Sub

Office.js是否有类似的API?

我也尝试使用Office Scripts录制一个宏,将图片放置到单元格中,但宏记录器提示“此操作当前无法被记录。”

解决方案

恐怕Office.js没有与您提到的VBA函数等价的功能。也许以下方法中的某一种在您的场景中可行:

使用 Range.getBoundingRect()(处于预览阶段)或通过计算行高和列宽来将图像定位在单元格的左上角。

将图片的 heightwidth 设置为单元格的尺寸。

Office.js支持 picture.placement,但这仍然不能完全重现“放置在单元格中”的行为。这些变通方法只能模仿效果,无法重现Excel的原生锚定。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章