桐华最美的时光第二部:在word中制作一个宏,可将所有行首字母为特定字母的所在行加粗。如何实现?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/03 10:04:14
在word中制作一个宏,可将所有行首字母为特定字母的所在行加粗。如何实现?
word录制宏里面无法使用鼠标,选择行操作怎么执行?能给个源代码么?谢谢!

选择行操作可用键盘(按shift+方向键)

下面的宏已完成功能(字母区分大小写)

Sub Macro1()
'
' Macro1 Macro
' 宏在 2005-10-16 由 lam 录制
'
Dim char As String
Dim temp As String
Dim blnBold As Boolean
Dim i As Long
Dim m As Long
Dim n As Long
Dim blnFound As Boolean

temp = Left(InputBox("请选择操作:" & vbCrLf & "输入T表示加粗" & vbCrLf & "输入F表示取消加粗", "提示"), 1)
If UCase(temp) = "T" Then
blnBold = True
ElseIf UCase(temp) = "F" Then
blnBold = False
Else
Exit Sub
End If

char = Left(InputBox("请输入要加粗或取消加粗的行的首字母", "提示"), 1)
If char = "" Then Exit Sub

m = 0: n = 0: blnFound = False

If Application.ActiveDocument.Characters(1) = char Then
m = i
blnFound = True
End If

For i = 2 To Application.ActiveDocument.Characters.count
If Not blnFound And Application.ActiveDocument.Characters(i) = char _
And Application.ActiveDocument.Characters(i - 1) = vbCr Then
m = i - 1
blnFound = True
ElseIf blnFound And Application.ActiveDocument.Characters(i) = vbCr Then
n = i - 1
Call Selection.SetRange(m, n)
Selection.Font.Bold = blnBold
blnFound = False
End If
Next

End Sub