ピースの選択と選択時の ToolTipText での期間の表示と、pce.Finish の返値についてですが、スケジュール上の見た目の選択より1日分少なく選択される場合があります。
例えば、ToolTipText とピース内の表示では、9/10~9/23 に選択した場合、スケジュール上の見た目の選択では、9/10~9/22で選択されています。
スケジュール上の選択した日付を、ToolTipText での表示とピース内の表示を、合わせたいのですが、なにか方法がないでしょうか?

説明

この現象は、タイムビューの日付単位の期間表現が、日常生活のものとは異なっているためです。
日常生活の場合、「9月10日から9月22日まで」という表現では9月22日を含んでいますが、タイムビューの場合は、9月22日を9月22日の0時0分と解釈するため9月22日を含みません。

対応

対応としては、Piece オブジェクトの Start, Finish の値は現状のまま使用し、ピースキャプションや、セル、ツールチップウィンドウに表示する時間文字列を作成する際に、Piece.Finishに1日加算した値を使用することで解決することができます。
(例)
1日加+I14算する処理をGeneralFinish関数として作成し、この関数をタイムビュー提供のツールチップウィンドウの表示文字列更新イベントと、ピース追加イベント内のセル文字列、ピースキャプション作成時に使用します。
‘——————————————————————————
‘タイムビューの終了日時を、日常生活の表現に適した日付に変換する
‘——————————————————————————
Public Function GeneralFinish(ByVal dtDate As Date) As Date
dtDate = DateAdd(“d”, -1, dtDate)
GeneralFinish = dtDate
End Function

‘——————————————————————————
‘ピースドラッグ時ツールチップウィンドウ表示文字列更新イベント
‘——————————————————————————
Private Sub KnTView1_DragTipFormat( _
ByVal DragPattern As KnTViewLib.TivDragPattern, _
ByVal StartTime As Date, ByVal FinishTime As Date, _
ByVal StartIndex As Long, ByVal FinishIndex As Long, _
ByVal Tip As KnTViewLib.ReturnString)

‘タイムビュー提供のツールチップウィンドウに表示する文字列を、
‘次の内容に変更する。
Tip = Format(StartTime, “m/d”) & “~” _
& Format(GeneralFinish(FinishTime), “m/d”) ‘★
End Sub

‘——————————————————————————
‘ピース追加ドラッグ操作完了イベント
‘——————————————————————————
Private Sub KnTView1_AfterPieceAdd(ByVal Cancel As KnTViewLib.ReturnBoolean, _
ByVal Start As KnTViewLib.ReturnDate, _
ByVal Finish As KnTViewLib.ReturnDate, _
ByVal Item As KnTViewLib.Item)

Cancel.Value = True

Dim pce As Piece
Dim pcap As PieceCaption

”指定した期間のピースバーを表示させる
Set pce = Item.Pieces.Add
pce.Start = Start+I3
pce.Finish = Finish
pce.BarShape.Fill.BackColor = RGB(100, 255, 255)

”指定したピースバーの中に、期間を、m/d~m/d 形式で表示させる
Set pcap = pce.Captions.Add
pcap.Color = RGB(0, 0, 0)
pcap.Position = tivPieceCenter
pcap.HorAlign = tivTextHorAlignCenter
pcap.VerAlign = tivTextVerAlignCenter
pcap.Type = tivPieceCaptionText
pcap.Text = _
Format(Start, “m/d”) & “~” & Format(GeneralFinish(Finish), “m/d”) ‘★
”The writeing of the start day and end day.
KnTView1.Cell(pce.ItemIndex, 4).Value = _
Format(pce.Start, TimeCellFormat)
KnTView1.Cell(pce.ItemIndex, 5).Value = _
Format(GeneralFinish(pce.Finish), TimeCellFormat) ‘★
End Sub