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

前回の続きで、読込みの関数を定義します。

mdlItem
Public Function LoadAll() As Integer
    
    Dim i As Integer
    
    Redim Preserve Items(0)
    
     = 1
    Do
        If Cells(ItemSheet, 1, i + 1).Value = 0 Then Exit Do
        Redim Preserve Items(i)
        LoadById(Items(i), i)
        i = i + 1
    Loop
    
    LoadAll = i - 1
    
End Function
 
Public Function LoadById(Item As ItemType, ByVal Id As Integer) _
    As Boolean
    
    Dim i As Integer
    
    Id = Id + 1
    If Id < 2 Or Cells(ItemSheet, 1, Id).Value = 0 Then
        LoadById = False
        Exit Function
    End If
    
    i = 1
    With Item
        ._Id = Cells(ItemSheet, i, Id).Value: i = i + 1
        ._Name = Cells(ItemSheet, i, Id).String: i = i + 1
        ._CategoryId = Cells(ItemSheet, i, Id).Value: i = i + 1
        ._PersonId = Cells(ItemSheet, i, Id).Value: i = i + 1
        ._Note = Cells(ItemSheet, i, Id).String: i = i + 1
        ._Complete	= Cells(ItemSheet, i, Id).Value: i = i + 1
        ._Status = Cells(ItemSheet, i, Id).Value: i = i + 1
        ._Hyperlink	= Cells(ItemSheet, i, Id).String: i = i + 1
        ._UpperId = Cells(ItemSheet, i, Id).Value: i = i + 1
        ._Spare = Cells(ItemSheet, i, Id).String: i = i + 1
    End With
    
    Dim Num As Integer
    
    For Num = 1 To 20
        setProgress(Item, Num, Cells(ItemSheet, i, Id).Value)
        i = i + 1
    Next Num
    
    LoadById = True
    
End Function

「分類」と同様に個別の取り込みと全体の取り込みの2段階に分けて関数を定義します。

そして「mdlMain」モジュールに下記を追加します。これは今後の項目や工程の設定も同じようにすることで、今後のコーディングを楽にするための工夫です。そして今後、読み込みや書込み等のマクロを実行する際には、必ずmdlMain.Initiarizaという一文を入れておきます。

mdlMain
'Public Sub Initializeへ追記
ItemSheetName = "項目"
ItemSheet = Sheets(ItemSheetName)
スポンサーサイト
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://shinob.blog42.fc2.com/tb.php/24-f561ba12
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
COPYRIGHT(C) 2004 POWERD BY FC2 ALLRIGHT RESERVED.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。