OpenOffice.org Basicでガントチャート
OpenOffice.org Basicを使ってガントチャート作成用マクロ ガントチャートforOOoを開発する手順を紹介していきます。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
日付欄の更新 その3

実際に日付欄を書き換えるコードを下記に示します。

Sub printDateHeader
    
    Dim Row As Integer
    Dim Column As Integer
    Dim i As Integer
    
    Row = oProperty._TopRow + 1
    Column = oProperty._LeftColumn + ChartHeaderColumns
    
    Dim wk As Date
    Dim buff As Date
    
    buff = oProperty._BeginDate
    
    For i = 0 To oProperty._DrawColumns - 1
        
        wk = getDateByColumn(i)
        Cells(oSheet, i + Column, Row).Value = wk
        
        Select Case oProperty._CellUnit
            Case CELLUNIT_MONTH
                If i = 0 Or Year(wk) <> Year(buff) Then
                    Cells(oSheet, i + Column, Row - 1).String = Year(wk)
                    setLeftBorder(Cells(oSheet, i + Column, Row - 1), True)
                Else
                    Cells(oSheet, i + Column, Row - 1).String = ""
                    setLeftBorder(Cells(oSheet, i + Column, Row - 1), False)
                End If
            Case Else
                If i = 0 Or Month(wk) <> Month(buff) Then
                    Cells(oSheet, i + Column, Row - 1).String = Year(wk) & "/" & Month(wk)
                    setLeftBorder(Cells(oSheet, i + Column, Row - 1), True)
                Else
                    Cells(oSheet, i + Column, Row - 1).String = ""
                    setLeftBorder(Cells(oSheet, i + Column, Row - 1), False)
                End If
        End Select
        
        buff = wk
        
    Next i
    
End Sub

必要な変数を宣言した後、プロパティから日付を書き換える行番号と左端の列番号を取得します。また、工程表の開始日を取得し、バッファ用変数に記録します。

For...Next文で描画する列数回処理を繰り返します。処理の内容として、前々回作成したgetDateByColumn関数により、日付データを取得し、日付欄に入力します。次に、セルの単位で処理を分岐し、月単位ならば年が変わった時点で罫線を引くという処理を行い、それ以外であれば月が変わった時点で罫線を引くという処理を行います。

スポンサーサイト

テーマ:OpenOffice.org - ジャンル:コンピュータ

コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://shinob.blog42.fc2.com/tb.php/119-3304a47e
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
COPYRIGHT(C) 2004 POWERD BY FC2 ALLRIGHT RESERVED.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。