2017-12-13 56 views
1

私はいくつかのデータからグラフを作成するためにExcelを使用するいくつかのVB.NETコードを持っています。グラフはどのようにして動作するのですか?VBAからVBの書式設定に切り替えるのは難しいです。VB.netの書式設定シリーズと1つの凡例のエントリを削除する

凡例のシリーズ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 

答えて

1

私は、Excelでいくつかのデータを作って保存し、次のコードを使用:

enter image description here

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 

これを生成

私はだと思います。あなたが望むものです。

クレジット:

+0

おい!それはまさに私が後にしたものです。ありがとうございました。私は正しいコマンドで少し苦労してきました。あなたは主にあなたが知らないことのための命令を得るために行くのですか?私はhttps://msdn.microsoft.com/en-us/library/dd489216.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1を見てきましたが、私は持っていないchart1割り当てられていません –

+0

@SeanKilburnよろしくお願いします。それはちょうどGoogleの富です:) –

関連する問題