17 VBA To OOoBasic対比表(グラフ編)

OOo グラフ編 OOo

Excel VBAをCalcのOOoBasicで動作可能かの調査

(Windows XP / OpenOffice.org3.2.1日本語版で検証)

 

VBA互換モード対応可否
使用できます

使用できます

(結果または引数がVBAと異なります)

使用できません(回避方法有)
使用できません(回避方法無)

 

 

No 関数名/メソッド/プロパティ/オブジェクト/ステートメント
内容 VBA使用例 VBA互換モード
1 Add
グラフシートを作成します
Charts.Add before:=WorkSheets("Sheet1")

2 AxisGroup
データ系列を追加した軸に位置付けます

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.ChartArea.Select

'データの2番目の系列を第2軸に位置づけ

ActiveChart.SeriesCollection(2).AxisGroup = xlSecondary

3 AxisTitle
軸ラベルを設定します

Worksheets("Chart").ChartObjects.Add Left:=10, Top:=10, Width:=500, Height:=400

Worksheets("Data").Range("A3:B13").Copy

Worksheets("Chart").ChartObjects(1).Chart.Paste

4 BackToFront,SentToBack
グラフの重なりを変更します
Activesheet.ChartObject(1).BringToFront
5 ChartObjects/Add
グラフを作成します

Worksheets("Chart").ChartObjects.Add Left:=10, Top:=10, Width:=500, Height:=400

Worksheets("Data").Range("A3:B13").Copy

Worksheets("Chart").ChartObjects(1).Chart.Paste

6 ChartObjects/Name
グラフの名前を取得します

MsgBox ActiveSheet.ChartObjects(2).Name

7 ChartType
グラフの種類を設定します

Chart("Graph1").ChartType = xlLine

8 ChartWizard
グラフのプロパティを設定します
Chart("Graph1").ChartWizard Title:= "上半期合計"
9 ClearFormats
グラフの書式をクリアします
Worksheets("sheet1").ChartObjects(1).Chart.ChartArea.ClearFormats
10 Count
グラフの数を数えます
MsgBox Worksheets("Chart").ChartObjects.Count
11 Delete
グラフを削除します
Worksheets("Chart").ChartObjects(2).Delete
12 GapWidth
棒グラフで別データ系列との間隔を設定します

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.ChartArea.Select

 

ActiveChart.ChartGroup(1).GapWidth = 50

13 HasAxis
軸の表示/非表示を設定します

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.ChartArea.Select

'項目軸非表示指定

ActiveChart.HasAxis(xlCategory) = False

14 HasSeriesLines
グラフの区分線を設定します

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.ChartArea.Select

'区分線指定

ActiveChart.ChartGroup(1).HasSeriesLines = True

15 HasTitle
グラフタイトルの表示状態を設定します

Worksheets("Chart").ChartObjects(1).Chart.HasTitle = False

16 Interior
グラフを単色で塗ります

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.PlotArea.Select 'プロットエリア(グラフ内部)

Selection.Interior.ColorIndex = 5

Selection.Interior.Pattern = xlSolid '単色

17 Interior
グラフの色を初期化します

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.PlotArea.Select 'プロットエリア(グラフ内部)

Selection.Interior.ColorIndex = xlNone

18 Interior
グラフの輪郭線を引きます

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.PlotArea.Select 'プロットエリア(グラフ内部)

Selection.Border.ColorIndex = 10 '線の色

Selection.Border.Weight= 2 '線の太さ

Selection.Border.LineStyle= 2 '線の種類

19 MaximaumScale, MiniNumScale
目盛の種類を設定します

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.ChartArea.Select

'目盛設定

ActiveChart.Axes(xlValue).MajorTickMark = xlTickMarkInside nbsp;       '内側に目盛

ActiveChart.Axes(xlValue).MinorTickMark = xlTickMarkOutside nbsp;     '外側に目盛

20 MaximaumScale, MiniNumScale
数値軸の最大値/最小値/目盛間隔を設定します

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.ChartArea.Select

'最大値設定

ActiveChart.Axes(xlValue).MaximumScale = 10000

O/T/P
21 OneColorGridient, TwoColorGradient, PresetGradient
グラフをグラデーションで塗ります

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.ChartArea.Select )

'前景色、背景色指定(OneColorGradientの場合は背景色は無視されます)

With Selection

    .Fill.Visible = True

    .Fill.ForeColor.SchemeColor = 16           '前景色

    .Fill.BackColor.SchemeColor = 8            '背景色

End With

ActiveChart.ChartArea.Fill.OneColorGradient _                                Style:=msoGradientHorizontal, Variant:=1, Degree:=1

22 Overlap
棒グラフで同一データ系列間の棒が重なり合う割合を設定します

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.ChartArea.Select

 

ActiveChart.ChartGroup(1).Overlap = 50

23 Paste グラフシートにクリップボードのデータを貼り付けます
Worksheets("Sheet1").("D3:D7").CopyChart("Object 1").Paste
24 Patterned グラフをパターンで塗ります

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.PlotArea.Select 'プロットエリア(グラフ内部)

'前景色、背景色指定

With Selection

.Fill.Visible = True

.Fill.ForeColor.SchemeColor = 16 '前景色

.Fill.BackColor.SchemeColor = 8 '背景色

End With

Selection.Fill.Patterned Pattern:=msoPattern40Percent 'パターン

25 PresetTextured グラフをテクスチャで塗ります

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.ChartArea.Select 'グラフエリア(グラフ外部)

Selection.Fill.PresetTextured PresetTexture:= msoTextureNewsprint

26 Previous/Activate 選択しているグラフシートの左のシートをアクティブにします
ActiveChart.Previous.Activate
27 Select グラフを選択します
ActiveSheet.ChartObjects(1).Select
28 SeriesCollection, Interior グラフ中のデータ要素の色を変更します

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.ChartArea.Select

ActiveChart.SeriesCollection(3).Interior.ColorIndex = 5

29 SeriesCollection, Name データ系列の名前を取得します

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.ChartArea.Select

MsgBox ActiveChart.SeriesCollection(3).Name

30 SetSourceData グラフの元データの範囲を設定します
Chart("Graph1").SetSourceData Source:=Worksheets(1).Range(B3:F13)
31 TopLeftCell,BottomRightCell グラフの左上,右下のセルを取得します
MsgBox "左上端は " & ActiveSheet.ChartObjects(1).TopLeftCell.Address
MsgBox "右下端は " & ActiveSheet.ChartObjects(1).BottomRightCell.Address
32 UserPicture グラフを図(画像)で塗ります

ActiveSheet.ChartObjects("Graph1").Activate

ActiveChart.PlotArea.Select 'プロットエリア(グラフ内部)

Selection.Fill.Visible = True

Selection.Fill.UserPicture PictureFile:= "C:\bitmap.bmp" '画像

 

★パスワード保護領域について

 

一部の記事に関しては、パスワード保護をかけております。パスワード保護領域の記事を閲覧していただくには事前ユーザー登録が必須となります。

下記より事前ユーザー登録をお願い致します。

 

事前ユーザー登録(無料)