0
통합 문서의 차트 위치를 기반으로 Excel 차트를 삭제할 수 있습니까? 예를 들어, 현재 차트 이름을 삭제하려면 아래 코드를 사용하고 있습니다. 하지만 내가 쳤던 올가미는 때로는 차트의 이름이 다릅니다. 유일하게 일관된 것은 그들이 같은 위치에 있다는 것입니다. 또는 누군가가 그것을 기반으로 위치 삭제합니다 어디에 내 코드를 조정할 수있는이 같은위치를 기반으로 차트를 삭제 하시겠습니까?
foreach (Microsoft.Office.Interop.Excel.Shape shp in oXL.Sheets["Sheet 1"].Shapes)
if (shp.Type == MsoShapeType.msoChart)
{
if (shp.Name == "Chart 233" || shp.Name == "Chart 111") { shp.Delete(); }
}
모양 셰이프의 왼쪽 위 모서리 아래에 셀을 반환하는 TopLeftCell 속성을가집니다. 이를 사용하여 워크 시트의 모양을 결정할 수 있습니다. 또는 셰이프'Top'과'Left' 속성을 사용하여 플롯이 위치 할 것으로 예상되는 셀의'Top'과'Left'와 비교할 수 있습니다. –
Shape.TopLeftCell을 사용하면 맨 위 왼쪽 셀을 얻을 수 있지만 일단 정보를 얻으면 실제로 Shape.TopLeftCell 값을 기반으로 해당 셰이프를 삭제할 수 있습니까? – MasterOfStupidQuestions
Shp.Delete는 원하는 차트인지 확인한 후에도 작동합니다. –