VB2010で、ExcelのChart(グラフ)の各種制御がしたいです。
- 題名: VB2010で、ExcelのChart(グラフ)の各種制御がしたいです。
- 著者: よし
- 日時: 2014/09/10 10:34:10
- ID: 32600
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: VB2010で、ExcelのChart(グラフ)の各種制御がしたいです。
- 著者: Hongliang
- 日時: 2014/09/10 10:58:08
- ID: 32601
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: VB2010で、ExcelのChart(グラフ)の各種制御がしたいです。
- 著者: よし
- 日時: 2014/09/10 12:32:10
- ID: 32602
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: VB2010で、ExcelのChart(グラフ)の各種制御がしたいです。
- 著者: Hongliang
- 日時: 2014/09/10 12:42:43
- ID: 32603
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: VB2010で、ExcelのChart(グラフ)の各種制御がしたいです。
- 著者: よし
- 日時: 2014/09/10 13:07:47
- ID: 32604
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
はじめて投稿させていただきます。
タイトルの質問ですが、Visual Basic 2010のプログラムからExcelを起動し、データを書き込んで、そのデータを元にグラフ化するというプログラムを作成しています。
かなり簡略化したコードですが、このようになります。
-----------------------------
Dim oXls1 As Microsoft.Office.Interop.Excel.Application
Dim wkb01 As Microsoft.Office.Interop.Excel.Workbook
Dim wks01 As Microsoft.Office.Interop.Excel.Worksheet
Dim myRange1 As Microsoft.Office.Interop.Excel.Range
Dim myRange2 As Microsoft.Office.Interop.Excel.Range
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
oXls1 = New Microsoft.Office.Interop.Excel.Application
oXls1.Visible = True
wkb01 = oXls1.Workbooks.Add()
wks01 = wkb01.Worksheets.Add()
myRange1 = wks01.Range("A20")
myRange2 = myRange1.Offset(1)
myRange1.Value = "試験1"
myRange2.Value = "試験2"
For i As Integer = 20 To 1 Step -1
myRange1 = myRange1.Offset(0, 1)
myRange1.Value = i
Next
For n As Integer = 40 To 2 Step -2
myRange2 = myRange2.Offset(0, 1)
myRange2.Value = n
Next
myRange1 = wks01.Range("A20")
myRange1 = wks01.Range(myRange1.End(Microsoft.Office.Interop.Excel.XlDirection.xlDown).Address, myRange1.End(Microsoft.Office.Interop.Excel.XlDirection.xlToRight).Address)
Dim oChart As Microsoft.Office.Interop.Excel.ChartObject
oChart = wks01.ChartObjects.Add(1, 1, 600, 200)
With oChart.Chart
.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLineMarkers
.SetSourceData(Source:=myRange1)
End With
End Sub
-----------------------------
参照の追加のCOMでEXCELを追加する必要はありますが、このコードでボタンを押すと、EXCELが立ち上がり、シートが1枚追加されてデータが書き込まれ、それを元にした線グラフが表示されます。
ところが、この後で詰まってしまいました。
希望として、この出来上がったグラフは、数字が小さい程、上に表示される「軸反転」グラフにしたいのと、最小値を1に、最大値を40に設定したいのです。
ExcelのVBAなら
ActiveChart.Axes(xlValue).ReversePlotOrder = True
ActiveChart.Axes(xlValue).MaximumScale = 45
ActiveChart.Axes(xlValue).MaximumScale = 40
で設定できるので、Visual Basic 2010からも設定できるだろうと思ったのですが、oChart.Chart のwith中に組み込もうとすると、「xlValue は宣言されていない」エラーメッセージが出てしまい、どうしても設定方法を見つけられず、ご教授をお願いしたいと思います。
Visual Basic でEXCELをコントロールし、Chart(グラフ)を挿入して、書式などを修正する方法を教えていただけますでしょうか?
よろしくお願いいたします。