注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Mr.Right

不顾一切的去想,于是我们有了梦想。脚踏实地的去做,于是梦想成了现实。

 
 
 

日志

 
 
关于我

人生一年又一年,只要每年都有所积累,有所成长,都有那么一次自己认为满意的花开时刻就好。即使一时不顺,也要敞开胸怀。生命的荣枯并不是简单的重复,一时的得失不是成败的尺度。花开不是荣耀,而是一个美丽的结束,花谢也不是耻辱,而是一个低调的开始。

网易考拉推荐

VBA操作Word的札记  

2015-10-21 21:12:15|  分类: 编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Sub DeleteText() '删除活动文档的第一段,并插入新文本
    Dim rngFirstParagraph As Range
    Set rngFirstParagraph = ActiveDocument.Paragraphs(1).Range
    With rngFirstParagraph
        .Delete
        .InsertAfter Text:="New text"
        .InsertParagraphAfter
    End With
End Sub


Sub InsertTextBefore() '并插入新文本
    Dim rngFirstParagraph As Range
    Set rngFirstParagraph = ActiveDocument.Paragraphs(1).Range
    Application.ActiveDocument.Paragraphs(1).Range.Text = "南无阿弥陀佛"
    With rngFirstParagraph
        .InsertBefore Text:="New text before" & vbCrLf
        .InsertParagraphAfter  ' 插入vbCrLf的另一种方式, 转到行首
        .InsertAfter Text:="New text after"
    End With
    
    ' 通过selection对象设置属性
    Application.ActiveDocument.Paragraphs(1).Range.Select
    Selection.Font.Name = "黑体"
    Selection.Font.Size = 18
    Selection.Font.Bold = wdToggle
    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
    Selection.ParagraphFormat.SpaceAfter = 20 ' 段后间距 20磅
    
    
    '字号‘五号’对应磅值10.5
    '字号‘小四’对应磅值12
    '字号‘四号’对应磅值14
    '字号‘小三’对应磅值15
    '字号‘三号’对应磅值16
    '字号‘小二’对应磅值18
    '字号‘二号’对应磅值22
    '字号‘小一’对应磅值24
    '字号‘一号’对应磅值26
    
    ' 通过range对象设置属性
    Application.ActiveDocument.Paragraphs(2).Range.Font.Name = "黑体"
    Application.ActiveDocument.Paragraphs(2).Range.Font.Size = 15
    Application.ActiveDocument.Paragraphs(2).Range.Font.Bold = False
    Application.ActiveDocument.Paragraphs(2).Range.ParagraphFormat.Alignment = wdAlignParagraphLeft
    
    Application.ActiveDocument.Paragraphs(3).Range.Font.Name = "宋体"
    Application.ActiveDocument.Paragraphs(3).Range.Font.Size = 12
    Application.ActiveDocument.Paragraphs(3).Range.Font.Bold = False
    'Application.ActiveDocument.Paragraphs(3).Range.ParagraphFormat.LineSpacingRule = wdLineSpace1pt5 '1.5 倍行距 wdLineSpaceSingle ' 单倍行距
    
    Application.ActiveDocument.Paragraphs(3).Range.Select
    
    '以下示例将选定段落的行距设置为"固定值" 20 磅
    With Selection.ParagraphFormat
        .LineSpacingRule = wdLineSpaceExactly
        .LineSpacing = 20
    End With
    
    ' 请严格按如下格式设置段落缩进
    With Selection.ParagraphFormat
    'Word选项若选中 “以用字符单位为测量单位”则以下次序不能改变
            .CharacterUnitLeftIndent = 0  ' 左悬挂缩进0字符
            .CharacterUnitRightIndent = 0  ' 右悬挂缩进0字符
            .CharacterUnitFirstLineIndent = 2 ' 首行缩进2字符
            .LeftIndent = CentimetersToPoints(0) ' 左悬挂缩进0字符
            .RightIndent = CentimetersToPoints(0) ' 右悬挂缩进0字符
            .FirstLineIndent = CentimetersToPoints(2) ' 首行缩进2字符
    End With
    
End Sub


Sub deleteLastSentence()
    MsgBox ThisDocument.Sentences(ThisDocument.Sentences.Count).Text
    ThisDocument.Sentences(ThisDocument.Sentences.Count).Text = ""
End Sub

Sub deleteLastParagraph()
    MsgBox ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range.Text
    ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range.Delete
    MsgBox ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range.Text
End Sub

Sub addPageNum()
With ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary)
      Set rng = .Range
      rng.Font.Size = 10.5
      rng.Font.Name = "Times New Roman"
      rng.Text = "第 "
      rng.Collapse wdCollapseEnd
      ActiveDocument.Fields.Add rng, wdFieldPage, "Page"
      Set rng = .Range
      rng.Collapse wdCollapseEnd
      rng.Text = " 页 / 共 "
      rng.Collapse wdCollapseEnd
      ActiveDocument.Fields.Add rng, wdFieldNumPages, "Pages"
      Set rng = .Range
      rng.Collapse wdCollapseEnd
      rng.Text = " 页 "
      .Range.Fields.Update
      .Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
End With
End Sub


Sub DelBlank()
    Dim i As Paragraph, n As Long
    Application.ScreenUpdating = False
    For Each i In ActiveDocument.Paragraphs
        If Len(i.Range) = 1 Then
            i.Range.Delete
            n = n + 1
        End If
    Next
    MsgBox "共删除空白段落" & n & "个。"
    Application.ScreenUpdating = True
End Sub

  评论这张
 
阅读(162)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016