Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


58378 / 76732 ←次へ | 前へ→

【23083】Re:MonthViewで指定の日を太字にできない
回答  角田 WEB  - 05/3/12(土) 17:23 -

引用なし
パスワード
   >でもでも、「月を切換」したら太字は消えますよ。
>最初の「月」に戻って来ても太字は戻りません
「太字」に指定した日付を、自前でリストし、常にそのリストで
太字設定を送ってやるようにしないと駄目ですね。

(注)Bug:1段目左端の日(前月なので通常はグレー表示)は太字設定しても太字にならない

Private colBoldDate As Collection  '[太字]設定日のリスト

Private Sub UserForm_Initialize()
  Set colBoldDate = New Collection
End Sub

Private Sub UserForm_Terminate()
  Set colBoldDate = Nothing
End Sub

Private Sub MonthView1_Click()
  '[月]切換時の太字表示設定
  Call SetDayBold
End Sub

Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
  With MonthView1
    '[太字]設定日リストの登録有無を確認
    If (ChkDayCol(DateClicked) = False) Then
      '未登録時はリストに追加して[太字]設定
      colBoldDate.Add Item:=DateClicked, _
              Key:=Format(DateClicked, "yyyy/mm/dd")
      .DayBold(DateClicked) = True
    Else
      '登録時はリストから削除して[太字]解除
      colBoldDate.Remove Index:=Format(DateClicked, "yyyy/mm/dd")
      .DayBold(DateClicked) = False
    End If
  End With
  '[前月/翌月]部分クリック時の為に太字表示設定を実行
  Call SetDayBold
End Sub

'登録リストの日付を[太字]設定する
Private Sub SetDayBold()
Dim i As Integer
  With MonthView1
    For i = 1 To colBoldDate.Count
      '1〜6段目に表示されている日付以外はSkip
      If (colBoldDate(i) >= .VisibleDays(1)) And _
        (colBoldDate(i) <= .VisibleDays(42)) Then
        .DayBold(colBoldDate(i)) = True
      End If
    Next i
  End With
End Sub

'登録リスト(コレクション)の有無確認
Private Function ChkDayCol(ByVal ChkDate As Date) As Boolean
Dim dmy As Date
  On Error Resume Next
  'Key指定で値を取り出し、エラーになるかどうかを調べる
  dmy = colBoldDate.Item(Format(ChkDate, "yyyy/mm/dd"))
  If (Err.Number = 0) Then
    ChkDayCol = True
  Else
    ChkDayCol = False
  End If
  Err.Clear
End Function

1 hits

【23059】MonthViewで指定の日を太字にできない 猫おじさん 05/3/11(金) 16:35 質問
【23062】Re:MonthViewで指定の日を太字にできない ichinose 05/3/11(金) 18:07 発言
【23064】Re:MonthViewで指定の日を太字にできない 角田 05/3/11(金) 19:01 回答
【23083】Re:MonthViewで指定の日を太字にできない 角田 05/3/12(土) 17:23 回答
【23251】Re:MonthViewで指定の日を太字にできない 猫おじさん 05/3/17(木) 11:31 お礼

58378 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free