在我的一个 Excel 模板中,有一个预设图表,可以自动填充从自动表格中获得的数据。
这一切都很好。我遇到的问题是如何稍后在我的代码中引用该图表。
我能收集到的最好的东西是使用 Main.xlBook.Charts(6) 之类的东西,其中 6 是 xlBook 中图表的索引。
Dim chart As Excel.Chart = CType(Main.xlBook.Charts(6), Excel.Chart)
chart.Axes(Excel.XlCategoryType.xlTimeScale).MinimumScale = Main.xLSheet1.Cells(2, 1).value / 86277
chart.Axes(Excel.XlCategoryType.xlTimeScale).MaximumScale = Main.xLSheet1.Cells(radios.Count + 1, 1).value / 86277
使用上面的代码,当我尝试设置对象时它会中断。我不想在运行时制作图表,因为在大多数情况下我根本不需要编辑图表。我让它自动化的方式,它在 95% 的时间内正确填写。我只需要能够调整其他 5% 的范围。
那么有没有办法在运行时没有在 xlbook 中引用图表对象?
ps,作为额外的第二个问题,我将如何在打开选项严格的情况下更改轴?(我目前拥有的方式不是严格友好的选项)
一如既往地感谢大家
更新
弄清楚了
Dim xlCharts As Excel.ChartObjects = CType(Main.xlSheet3.ChartObjects, Excel.ChartObjects)
Dim myChart As Excel.ChartObject = xlCharts.Item(5)
Dim chartPage As Excel.Chart = myChart.Chart
chartPage.Axes(Excel.XlAxisType.xlCategory).minimumscale = Main.xLSheet1.Cells(2, 1).value
chartPage.Axes(Excel.XlAxisType.xlCategory).maximumscale = Main.xLSheet1.Cells(radios.Count + 1, 1).value