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

読込みと同様に、「mdlSchedule」に追記します。

mdlSchedule
Public Function SaveAll() As Integer'---(1)
    
    Dim i As Integer
    
    For i = 1 To UBound(Schedules())'---(2)
        If Not SaveById(Schedules(i)) Then Exit For'---(3)
    Next i
    Cells(ScheduleSheet, 1, i + 1).String = ""'---(4)
    
    SaveAll = i - 1
    
End Function
 
Public Function SaveById(Schedule As ScheduleType) As Boolean'---(1)
    
    Dim i As Integer
    Dim Id As Integer
    
    i = 1
    With Schedule
        Id = ._Id + 1
        Cells(ScheduleSheet, i, Id).Value = ._Id : i = i + 1
        Cells(ScheduleSheet, i, Id).String = ._Name : i = i + 1
        Cells(ScheduleSheet, i, Id).Value = ._ItemId : i = i + 1
        Cells(ScheduleSheet, i, Id).Value = ._PlanBegin : i = i + 1
        Cells(ScheduleSheet, i, Id).Value = ._PlanEnd : i = i + 1
        Cells(ScheduleSheet, i, Id).Value = ._PlanColor : i = i + 1
        Cells(ScheduleSheet, i, Id).Value = ._ActBegin : i = i + 1
        Cells(ScheduleSheet, i, Id).Value = ._ActEnd : i = i + 1
        Cells(ScheduleSheet, i, Id).Value = ._ActColor : i = i + 1
        Cells(ScheduleSheet, i, Id).Value = ._LineType : i = i + 1
        Cells(ScheduleSheet, i, Id).Value = ._Weight : i = i + 1
    End With
    
    SaveById = True
    
End Function

内容を解説します。

  1. 読込みと同様に個別データの読込み関数と全データの読込み関数を別で作ります。
  2. UBound関数で分類数を取得します。
  3. データ数分だけ、データの書込み処理を行います。この時何か不具合があればFor文から抜け出します。
  4. もし既存のデータがあると次回の読み込み時に誤動作する可能性があるので、最終データの次の行のId列を空白にしておきます。
スポンサーサイト
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://shinob.blog42.fc2.com/tb.php/29-f84cb00f
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
COPYRIGHT(C) 2004 POWERD BY FC2 ALLRIGHT RESERVED.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。