4.7.1.2 宏录制正弦曲线的代码分析

2020/09/27 07:20
宏录制完成,现在进去看看它们到底都干了些什么。按下AIt+FI 1键,进入VB编辑器,来看看刚才录制的宏代码.如图4.11所示。粗略看一下,代码基本都是对ActiveChart属性的设置。下面来对照上一节的操作步骤,逐条分析代码的实际意义。(1)上一节的操作步骤(3)对应以下两条语句:Range("A2:Dl4一).SelectCharts.Add它表示先选择区域2014.然后执行插入命令,插入了一个图表。而代码则通过添加一个Chart对象来实现。用的是Charts对象集合的Add方法。(2)上一节的操作步驭(4)对应以下语句:ActiveChart.ChartType‘xlXYScatterSmooth实际操作的11的是将图表类型设置为平滑线散点图,而代码则通过设置ActiveChart的ChartType属性来实现.ChartType属性的介绍和XlChartType类型表见下一节.(3)上一节的操作步骤(5)对应以下语句:ActiveChart.SetSourceData Source:-Sheets("Sheetl").Range("A2:D14"),PlotBy:=xlColumns当用户单击【下一步】按钮的同时,系统会自动根据选择区域识别为源数据区域。此过程使用的是Chart对象的SetSourceData,它将源数据区域设置为A2:D14,并指定数据绘制方式为xlColumns,也就是将系列产生在列上。(4)上一节的操作步骤(6)和(7)对应以下语句:ActiveChart.SeriesCollection(1).Name-一Sheetl!R1C2"ActiveChart.SeriesCollection(2).Name-一Sheetl!R1C3"ActiveChart.SeriesCollection(3).Name一"-Sheetl!R1C4"实际操作的意图是给每个系列指定名称。而代码中则是通过调用Chart对象的SeriesCollection方法来实现.通过SeriesCollection工i)返同数据系列,然后设置它的name属性值,就可以为系列指定名称。(5)上一节的操作步骤(9)对应以下语句:With ActiveChart.HasTitle二True.ChartTitle.Characters.Text一”x和y的关系.,.Axes(xlCategory, xlPrimary).HasTitle,True.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text-"x值”.Axes(xlValue, xlPrimary).HasTitle一True.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text一”y值.,End With"实际操作的意图是给图表对象及其内部设置标题。对于图表标题,代码中是通过设置ActiveChart的ChartTitle属性完成的。通过代码可以发现,梅个具有标题的对象都有一个HasTitle属性,此属性用来设置对象是否有标题,只有把IlasTitle属性设置为truell寸,才能给对象的标题赋值。而Axes方法则用来调用图表中的坐标轴对象,显然根据步骤(9)的操作,目的在于给x轴和y轴都加上标题,那么^Axes(xlCategory, xlPrimary)就应该返回x轴对象,Axes(xlValue,xlPrimary)则返回y轴对象。至于后面的语句AxisTitle.Characters.Text就应该是该对象的标题的文本属性了。(6)上一节的操作步骤(10)对应以下语句:ActiveChart.Location Where:-xlLocationAsObject, Name:-"Sheetl"操作的目的是将该图表作为其中对象插入工作表。而代码中显然是调用了Chart的Location属性,将其设茬在本工作表中,并命名为“Sheet 1 "。现在,相信结合以上的操作和分析.读者即便不能手写代码操作Chart对象,至少己经明白了甸部操作设置的是Chart对象的哪些属性,并应该可以修改以上代码,来实现图表转化功能的自动化。这种对不熟悉的对象采用录制宏学习的方法很有价值,因为它帮助开发者利用熟悉的操作来了解不熟悉的对象.加快了学习的速度和对该对象的理解深度。读者应该掌握它,井学会在遇到不熟悉的对象时,利用它完成设计。4.7.1.2  宏录制正弦曲线的代码分析4.7.1.2  宏录制正弦曲线的代码分析4.7.1.2  宏录制正弦曲线的代码分析4.7.1.2  宏录制正弦曲线的代码分析4.7.1.2  宏录制正弦曲线的代码分析

免费直播

    精选课程 更多

    注册电脑版

    版权所有 2003-2020 广州环球青藤科技发展有限公司