删除今天在MonthView-control中指示的圆圈

时间:2015-06-30 07:47:16

标签: vba excel-vba excel-2013 vb6-migration excel

有没有办法删除今天在MonthView控件中指示的小红圈?我一直在做一些谷歌搜索,我发现最接近的是this,它似乎包含一个解决方案,但在VB6中,而不是VBA。此外,看看上传到该帖子的各种文件,我无法理解哪个部分正在删除该圈子,如果可以在Excel-VBA中使用相同的解决方案,则无需担心。

关于我希望做什么的任何意见都将非常感激。

1 个答案:

答案 0 :(得分:1)

使用API​​非常简单:

将其添加到用户窗体的顶部:

Private Declare Function GetWindowLong Lib "user32" _
    Alias "GetWindowLongA" ( _
    ByVal hWnd As Long, _
    ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" _
    Alias "SetWindowLongA" ( _
    ByVal hWnd As Long, _
    ByVal nIndex As Long, _
    ByVal dwNewLong As Long) As Long

Private Const GWL_STYLE As Long = -16
Private Const MCS_NOTODAYCIRCLE As Long = 8

并使用此删除它:

Private Sub UserForm_Initialize()

  With Me.MonthView1
    SetWindowLong .hWnd, GWL_STYLE, GetWindowLong(.hWnd, GWL_STYLE) Or MCS_NOTODAYCIRCLE
  End With

End Sub