毎年、日付が変更される祭日があるが、これらの祭日を判断し、曜日同様セルの色を変更する機能はありますでしょうか。
2017年10月10日
説明
タイムビューは汎用性およびユーザーの自由度を高めるために、この機能を実装してはおりません。何卒ご理解いただきますようお願い申し上げます。
対応
対処方法としまして、下記のような特別時間帯を使用した、サンプルコード(毎週の土日、および国民の休日を色分け表示)が挙げられます。 [ご注意] このサンプルが正常に動作するためには、タイムビュー(V1.6 R.01)が必要です。実行前に、コンポーネントバージョンの確認をお願いします。
‘特定日を特別時間帯で表示する、サンプル サブプロシージャ
Private Sub SetLegalSpt(dtHoliday As Date)
Dim spt As SpecialTime
Set spt = KnTView1.PiecePane.SpecialTimeSet.SpecialTimes.Add
spt.Fill.BackColor = vbCyan
spt.Pattern = tivSpecialTimeDate
spt.Target = dtHoliday
spt.Start = “0:00”
spt.Finish = “0:00”
End Sub
‘特定曜日を特別時間帯で表示する、サンプル サブプロシージャ
Private Sub SetDayOfWeekSpt(iDayOfWeek As TivDayOfWeek, lColor As Long)
Dim spt As SpecialTime
Set spt = KnTView1.PiecePane.SpecialTimeSet.SpecialTimes.Add
spt.Fill.BackColor = lColor
spt.Pattern = tivSpecialTimeWeekly
spt.Target = iDayOfWeek
spt.Start = “0:00”
spt.Finish = “0:00”
End Sub
Private Sub Form_Load()
With KnTView1
With .TimeScale
With .Large
.Unit = tivScaleUnitWeek
.Format = “yyyy/m/d”
End With
With .Medium
.Unit = tivScaleUnitDay
.Format = “aaa”
End With
With .Small
.Hidden = True
End With
End With
.PiecePane.SpecialTimeSet = .SpecialTimeSets.Add ‘今回追加分
.Items.Add
‘重要: V1.5以降の新しい特別時間帯の動作を有効にするために、
‘Miscプロパティに、tivMiscSpecialTimeNewMode を加えてください。
‘設定は設計時に、プロパティウィンドウでも行えます。
‘設定の仕方:
‘1.VBのデザインモードのときに対象のタイムビューを選択する。
‘2.プロパティウィンドウから「Misc」を見つけてダブルクリック
‘ する。→プロパティページが表示されます。
‘3.Miscグループの中にあるチェックボックスのうち、
‘ 「SpecialTime New Mode」をチェックする。
.Misc = .Misc + tivMiscSpecialTimeNewMode
End With
‘毎週土曜日を青で表示
SetDayOfWeekSpt tivSaturday, vbBlue
‘毎週日曜日を赤で表示
SetDayOfWeekSpt tivSunday, vbRed
SetLegalSpt “2000/5/5” ‘子供の日
SetLegalSpt “2000/7/20” ‘海の日
SetLegalSpt “2000/9/15” ‘敬老の日
SetLegalSpt “2000/9/23” ‘秋分の日
End Sub
