我有一张图表,我从excel复制到word表格单元格。现在我正在尝试调整它的大小。由于公司规则,我必须使用access-vba。
此行调整图表大小......
MsgBox (wdDoc.Tables(3).Cell(2,1).Height) '= 410
MsgBox (wdDoc.inlineShapes(1).Height) '= 942.65
但
chart.setBackgroundColor(Color.TRANSPARENT); //set whatever color you prefer
chart.setDrawGridBackground(false);// this is a must
为什么调整大小到任意数字?宽度为1393,3分,因此宽度和高度之间没有混淆......
答案 0 :(得分:0)
我想我找到了答案:
inlineShape.ScaleHeight:相对于原始大小缩放指定内联形状的高度。
这意味着我没有将它缩放到410个高度,而只是它原来高度的410%。
我的问题的解决方案是使用.height
和.width
并首先计算比率。
Dim sizeRatio as Double
With .inlineShapes(1)
sizeRatio = .Height / .Width
.Height = wdDoc.Tables(3).Cell(2,1).Height
.Width = wdDoc.Tables(3).Cell(2,1).Height / sizeRatio
End With