Excel VBA:在图表对象中显示行(大纲)

下面是代码@davidzemens非常好地提供给我的另一个关于运行时错误的问题的一部分 。 我想展示图表对象的轮廓。

有没有一种方法,我可以使用,而不必命名chartobject( ChtObj.Name = "ChartName" ),select并激活它,然后使用ActiveSheet.Shapes("ChartName").Line.Visible = msoTrue

  'Add the ChtObj frame: Set ChtObj = ws.ChartObjects.Add(100, 100, 400, 400) 'Size the chart, paste the picture in the chart, export With ChtObj .Width = shp.Width .Height = shp.Height shp.Copy Sleep 1000 '1000 milliseconds = 1 second .Chart.Paste .Chart.Export Filename:=fname, FilterName:="png" .Delete End With 

是的,你可以做到这一点; 在导出之前,必须使用图表对象的.ShapeRange属性(在With ChtObj ):

 With ChtObj .Width = shp.Width .Height = shp.Height ' here .ShapeRange.Line.Visible = msoTrue ' done shp.Copy Sleep 1000 '1000 milliseconds = 1 second .Chart.Paste .Chart.Export Filename:=fname, FilterName:="png" .Delete End With