多维表导出图片到线下表

目前多维表中的图片不能导出为线下表的内嵌单元格图片,文章的方法就是为了解决这个。

  1. 导出为压缩文件,选择第二个压缩选项,导出到哪里都行

  1. 解压压缩文档,然后在线下表中运行代码(代码放在文末了)

function EmbedImages() {

// var ws = ThisWorkbook.Sheets("总表采购对接(隐藏)");

var ws = ThisWorkbook.ActiveSheet;

var imageFolderPath = ThisWorkbook.Path + "\\"

temp = ['A']//看看哪些列需要导图片的,就把对应的列的英文填入中括号中

for (var alpha = 0; alpha < temp.length; alpha++) {

console.log(temp)

// 从第2行开始遍历列A中的每个单元格

for (var i = 2; i <= ws.Cells(ws.Rows.Count, temp[alpha]).End(xlUp).Row; i++) {

// 获取单元格的文本值

var imageName = ws.Range(temp[alpha] + i).Text;

var name = ws.Range(temp[alpha] + "1").Text

// 构建图片文件路径

var imagePath = imageFolderPath + name + "\\" + imageName;

// 获取单元格的位置信息

var top = ws.Range(temp[alpha] + i).Top;

var left = ws.Range(temp[alpha] + i).Offset(0, 1).Left;

try {

// ws.Shapes.AddPicture(imagePath, false, true, left, top, 100, 50);

// 插入图片的方式改为‘单元格内嵌’

ws.Range(temp[alpha] + i).Offset(0, 0).GetRangeEx().InsertCellPicture(imagePath)

} catch (e) {

}

}

}

}

广东省
浏览 78
1
5
分享
5 +1
1
1 +1
全部评论 1
 
高手!
· 辽宁省
1
回复