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

各プロパティの値をコントロールに割り当てるsetValues関数を作成します。

Private Sub setValues(obj As Object)
    With obj
        txtSheetName.Text = ._SheetName
        txtBeginDate.Text = ._BeginDate
        txtDrawRows.Text = ._DrawRows
        
        scbChartBarWeight.Value = ._ChartBarWeight - 1
        scbChartBarPlanPos.Value = ._ChartBarPlanPos
        scbChartBarActPos.Value = ._ChartBarActPos
        scbProgressLineWeight.Value = ._ProgressLineWeight - 1
        scbMileStoneWeight.Value = ._MileStoneWeight - 1
        
        imgChartBarPlanLineColor.getModel().BackgroundColor = _
            ._ChartBarPlanLineColor
        imgChartBarPlanFillColor.getModel().BackgroundColor = _
            ._ChartBarPlanFillColor
        imgChartBarActLineColor.getModel().BackgroundColor = _
            ._ChartBarActLineColor
        imgChartBarActFillColor.getModel().BackgroundColor = _
            ._ChartBarActFillColor
        imgChartHolidayColor.getModel().BackgroundColor = _
            ._ChartHolidayColor
        imgProgressLineColor.getModel().BackgroundColor = _
            ._ProgressLineColor
        
        chkDrawProgressLine.State = _
            Bool2State(obj._DrawProgressLine)
        chkPrintAllItems.State = Bool2State(obj._PrintAllItems)
        chkPrintNotCompleted.State = _
            Bool2State(obj._PrintNotCompletedItem)
        chkInsertSpaceBetweenCategory.State = _
            Bool2State(obj._InsertSpaceBetweenCategory)
        chkPrintLabel.State = Bool2State(obj._PrintLabel)
        chkCalculateStatus.State = _
            Bool2State(obj._CalculateStatus)
        chkCalculateTimesWithoutHoliday.State = _
            Bool2State(obj._CalculateTimesWithoutHoliday)
        chkUseOptionalNote.State = _
            Bool2State(obj._UseOptionalNote)
        
        cmbCellUnit.SelectItemPos(obj._CellUnit, True)
        cmbChartBarType.SelectItemPos(obj._ChartBarType, True)
        lstCategorizeType.SelectItemPos(obj._CategorizeType, True)
        
    End With
    
    setScrollBarValueOnLabel(scbChartBarWeight)
    setScrollBarValueOnLabel(scbChartBarPlanPos)
    setScrollBarValueOnLabel(scbChartBarActPos)
    setScrollBarValueOnLabel(scbProgressLineWeight)
    setScrollBarValueOnLabel(scbMileStoneWeight)
    
End Sub

ここで使用しているBool2State関数は以前mdlMain内に作成したもので、True/Falseをチェックボックス用のStatusデータとして返す働きをしています。
また、引数であるobjにはプロパティ型のデータを入れます。

そして、前回作成したInitialize関数とsetValues関数を使って、表示用のShow関数を作成します。

Function Show
    
    Id = mdlProperty.getActiveId
    If Id < 1 Or mdlProperty.Count < Id Then Exit Function
    
    flgUpdate = False
    
    Initialize
    setValues(Properties(Id))
    
    With oDialog
        .execute
        .dispose
    End With
    
    Show = flgUpdate
    
End Function

まず初めにmdlProperty.getActiveId関数にて、選択中のシートに対応したプロパティ番号を取得します。そして、変更フラグを初期化してから、Initialize関数、setValues関数を順に実行しダイアログを表示しています。

スポンサーサイト

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

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