我的问题是我将xls-sheets合并到了一个powerpoint-presentation中。有时最后3列在对象中不可见。如果您双击对象并在Excel中查看它们,它们就在那里。 我想在vbscript中设置嵌入对象图标应显示的范围。 (可以通过双击对象手动完成,并在双击后拖动位于对象每侧中间的小黑方块。)
我已经尝试了2天来解决这个小问题。我已经尝试了OLEFormat和这个http://msofficeautomation.wordpress.com/2012/06/11/add-excel-sheet-via-addoleobject-into-powerpoint/没有任何运气。 我试图在Word中录制一个宏,因为我没有ppt中的记录功能,但是当录制宏时,你无法重新定义对象中显示的范围。 : - (
我在powerpoint本身附加了一个小例子,添加了一个名为C:\ temp \ addOLEObject_problem \ Book1.xlsx的xlsx文件
Sub AddObject()
Set PPSlide = ActivePresentation.Slides.Add(ActivePresentation.Slides.Count + 1, 16)
Set objShapeOLE = PPSlide.Shapes.AddOLEObject(0, 0, , , ,"C:\temp\addOLEObject_problem\Book1.xlsx", False)
' Set objShapeOLE = PPSlide.Shapes.AddOLEObject(0, 0, , , , ".\Book1.xlsx", False)
' Resize to fill the slide
' ******check if width or height of the picture is larger than the slide*******
defaultWidth = objShapeOLE.Width
defaultHeight = objShapeOLE.Height
wRatio = PPSlide.Master.Width / objShapeOLE.Width 'Will be smaller and smaller the more resizing that is needed of the larger picture
hRatio = PPSlide.Master.Height / objShapeOLE.Height ' if >1 no resize is needed
resizeRatio = 1
If wRatio < hRatio Then
resizeRatio = wRatio
Else
resizeRatio = hRatio
End If
objShapeOLE.Width = resizeRatio * objShapeOLE.Width
'????How to set the range being displayed in the object?????
End Sub
Brgds 安迪