VB.net格式化系列并删除1个图例条目

我有一些VB.NET代码,它使用Excel从一些数据创build图表。 图表如何工作,但我发现从VBA切换到VB格式化很困难。

我只想将图例中的系列1删除,图表中的数据要么将透明度设置为100,要么将填充设置为不填充。 我已经玩charpage.seriescollection(1).format.fill等,但我没有得到它。

我的代码:

 Dim xlApp As Excel.Application = New Microsoft.Office.Interop.Excel.Application() Dim xlWorkBook As Excel.Workbook = Nothing Dim xlWorkbooks As Excel.Workbooks = Nothing Dim xlWorkSheet As Excel.Worksheet = Nothing Dim chartPage As Excel.Chart Dim xlCharts As Excel.ChartObjects Dim myChart As Excel.ChartObject Dim chartRange As Excel.Range Dim Chartarea As Excel.ChartArea xlCharts = xlWorkSheet.ChartObjects myChart = xlCharts.Add(10, 80, 900, 500) chartPage = myChart.Chart chartRange = xlWorkSheet.Range("B1", "E2000") chartPage.SetSourceData(Source:=chartRange) chartPage.ChartType = Excel.XlChartType.xlBarStacked chartPage.ChartWizard(Title:="Gantt Chart of Offshore Operations") chartPage.Legend.Position = Excel.XlLegendPosition.xlLegendPositionTop 'Y axis With chartPage.Axes(Excel.XlAxisType.xlCategory) .categorytype = Excel.XlCategoryType.xlTimeScale .BaseUnit = Excel.XlTimeUnit.xlDays End With 'X axis With chartPage.Axes(Excel.XlAxisType.xlValue) .HasTitle = True .AxisTitle.Caption = "Time (Days)" End With 

我在Excel中编写了一些数据,保存了它,并使用了下面的代码:

 Imports Microsoft.Office.Interop Public Class Form1 Sub X() Dim xlApp As Excel.Application = Nothing Dim xlWorkBook As Excel.Workbook = Nothing Try xlApp = New Excel.Application() xlWorkBook = xlApp.Workbooks.Open("C:\temp\Book1.xlsx") Dim xlWorkSheet As Excel.Worksheet = xlWorkBook.Worksheets(1) Dim xlCharts As Excel.ChartObjects = xlWorkSheet.ChartObjects Dim myChart As Excel.ChartObject = xlCharts.Add(10, 80, 900, 500) Dim chartPage As Excel.Chart = myChart.Chart Dim chartRange As Excel.Range = xlWorkSheet.Range("B1", "E20") chartPage.SetSourceData(Source:=chartRange) chartPage.ChartType = Excel.XlChartType.xlBarStacked chartPage.ChartWizard(Title:="Gantt Chart of Offshore Operations") ' ***************** myChart.Chart.SeriesCollection(1).Name = "" myChart.Chart.SeriesCollection(1).Interior.ColorIndex = Excel.Constants.xlNone chartPage.Legend.Position = Excel.XlLegendPosition.xlLegendPositionTop 'Y axis With chartPage.Axes(Excel.XlAxisType.xlCategory) .categorytype = Excel.XlCategoryType.xlTimeScale .BaseUnit = Excel.XlTimeUnit.xlDays End With 'X axis With chartPage.Axes(Excel.XlAxisType.xlValue) .HasTitle = True .AxisTitle.Caption = "Time (Days)" End With xlWorkBook.SaveAs("C:\temp\Book2") Finally xlWorkBook.Close() xlApp.Quit() End Try End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Try X() Finally GC.Collect() GC.WaitForPendingFinalizers() GC.Collect() GC.WaitForPendingFinalizers() End Try End Sub End Class 

其中产生这个:

在这里输入图像说明

认为是你想要的。

积分:

  • 如何使用VBA使Excel 2007中的单元格透明
  • Excel常量枚举