wrote :: 2005.07.17

Private Sub UserForm_Initialize()
Dim Memo
With ListView1
''プロパティ
.View = lvwReport ''表示
.LabelEdit = lvwManual ''ラベルの編集
.HideSelection = False ''選択の自動解除
.AllowColumnReorder = True ''列幅の変更を許可
.FullRowSelect = True ''行全体を選択
.Gridlines = True ''グリッド線
''列見出し
.ColumnHeaders.Add , "_Address", "アドレス", 46
.ColumnHeaders.Add , "_View", "表示", 46
.ColumnHeaders.Add , "_Text", "テキスト", 126
''コメントの取得
Call GetComments
End With
End Sub
Sub GetComments() ''すべてのコメントを取得する
Dim Memo
With ListView1
.ListItems.Clear
For Each Memo In ActiveSheet.Comments
With .ListItems.Add
.Text = Memo.Parent.Address(0, 0)
.SubItems(1) = Memo.Visible
.SubItems(2) = Memo.Text
End With
Next Memo
If .ListItems.Count > 0 Then .ListItems(1).Selected = True
End With
End Sub
Private Sub UserForm_Initialize()
Dim Memo
With ListView1
''プロパティ
.View = lvwReport ''表示
.LabelEdit = lvwManual ''ラベルの編集
.HideSelection = False ''選択の自動解除
.AllowColumnReorder = True ''列幅の変更を許可
.FullRowSelect = True ''行全体を選択
.Gridlines = True ''グリッド線
''列見出し
.ColumnHeaders.Add , "_Address", "アドレス", 46
.ColumnHeaders.Add , "_View", "表示", 46
.ColumnHeaders.Add , "_Text", "テキスト", 126
''コメントの取得
Call GetComments
CheckBox1 = Application.DisplayCommentIndicator > 0
End With
End Sub
Private Sub CheckBox1_Click() ''[コメントを表示する]
Dim SelectedRow As Long
Application.DisplayCommentIndicator = (CheckBox1 + 1) * (-2) + 1
With ListView1
If .ListItems.Count = 0 Then Exit Sub
SelectedRow = ListView1.SelectedItem.Index
Call GetComments
ListView1.ListItems(SelectedRow).Selected = True
End With
End Sub
Private Sub CheckBox2_Click() ''[作成者を表示しない]
Dim i As Long, buf As String
With ListView1
If .ListItems.Count = 0 Then Exit Sub
If CheckBox2 Then
For i = 1 To .ListItems.Count
buf = Range(.ListItems(i)).Comment.Text
If Right(Left(buf, InStr(buf, vbLf) - 1), 1) = ":" Then
.ListItems(i).SubItems(2) = Mid(buf, InStr(buf, vbLf) + 1)
End If
Next i
Else
For i = 1 To .ListItems.Count
.ListItems(i).SubItems(2) = Range(.ListItems(i)).Comment.Text
Next i
End If
End With
End Sub
Private Sub ListView1_DblClick()
Range(ListView1.SelectedItem).Select
End Sub
Private Sub ListView1_KeyUp(KeyCode As Integer, ByVal Shift As Integer)
With ListView1
If .ListItems.Count = 0 Then Exit Sub
If KeyCode = 46 Then
Range(.SelectedItem).ClearComments
Call GetComments
End If
End With
End Sub