Я использую VBScript для создания точечной диаграммы из столбцов данных в Excel 2003. Все получается хорошо, но я хочу отредактировать некоторые свойства диаграммы, такие как цвет фона и метки осей. Я сделал это вручную в Excel и записал макрос, который дал мне следующий код VBA:
ActiveChart.PlotArea.Select
With Selection.Border
.ColorIndex = 16
.Weight = xlThin
.LineStyle = xlContinuous
End With
With Selection.Interior
.ColorIndex = 2
.PatternColorIndex = 1
.Pattern = xlSolid
End With
ActiveChart.Axes(xlCategory).Select
With Selection.TickLabels
.ReadingOrder = xlContext
.Orientation = 45
End With
ActiveChart.Axes(xlValue).AxisTitle.Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.ReadingOrder = xlContext
.Orientation = xlHorizontal
End With
ActiveChart.ChartArea.Select
End Sub
Это выглядит нормально для VBA, но у меня возникли проблемы с преобразованием его в VBScript. Как мне начать? Это мой код на данный момент:
Set objChart = objExcel.Charts.Add()
With objExcel.ActiveChart
.ChartType = xlXYScatterLinesNoMarkers
.SeriesCollection(1).Interior.Color = RGB(255, 0, 0)
.HasTitle = True
.ChartTitle.Text = "usage"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Time"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "units"
.HasLegend = False
.SetSourceData objWorksheet.Range("E1","F" & LastRow), xlColumns
.SetSourceData objWorksheet.Range("E1:F200"), xlColumns
End With
Строка .SeriesCollection(1).Interior.Color = RGB(255, 0, 0) вызывает ошибку: «Невозможно установить свойство цвета класса Interior». Я предполагаю, что мне не следует вызывать .SeriesCollection прямо под .Activechart. Какие-либо предложения? На данный момент я был бы просто счастлив иметь возможность изменить цвет фона диаграммы на белый и повернуть метки оси X на 45 градусов.
Заранее спасибо.
xlCategory
: Excel VBA знает их значения, но они недоступны в VBScript. Вы можете найти числовые значения в обозревателе объектов (F2 в VBEditor). - person Tim Williams   schedule 17.07.2013?xlCategory
и нажмите Enter в окне Immediate. - person Jon Peltier   schedule 20.08.2015