作者:绿色风
分类:
时间:2022-08-17
浏览:190
楼主 芐雨 |
Q:如何用VBA删除每回下的特定标题 A:
本事例来自百度- http://zhidao.baidu.com/question/1859768136732377427.html?oldq=1
文本如下:
- ●第一回
- 张天师祈禳瘟疫
- 洪太尉误走妖魔
- 仁宗嘉右三年,瘟疫盛行,洪太尉奉皇帝命前往江西信州龙虎山,宣请嗣汉天师张真人来朝禳疫。
- 洪太尉上山求见天师不成。回至方丈,不顾众道士劝阻,打开“伏魔之殿”,放出妖魔,遂致大祸。他吩咐从人,隐瞒走妖魔一节,假报天师除尽瘟疫,得到仁宗赏赐。
- ●第二回
- 王教头私走延安府
- 九纹龙大闹史家村
- 高俅与端王(后来的徽宗)结识。被提拔为殿帅府太尉,对曾打翻他的王升的儿子八十万禁军教头王进施行报复......
要求:用VBA在文本中删除第*回后标题,如第一回后的【张天师祈禳瘟疫 ,洪太尉误走妖魔】删除,第n回后的也删除等等 用VBA代码实现如下- Sub 删除每回下的标题_芐雨()
- Dim i As Paragraph, n As Long
- Application.ScreenUpdating = False '关闭屏幕刷新
- On Error Resume Next '防错
- For Each i In ActiveDocument.Paragraphs '在活动文档的段落集合中循环
- i.Range.Characters(1).Select '选择段落第一个字符,目的是为了光标的跳转
- '判断第一个字符是否等于“●”,第二个字符是否等于“第”
- If i.Range.Characters(1) = "●" And i.Range.Characters(2) = "第" Then
- Selection.MoveDown unit:=wdLine, Count:=1 '下移一行
- Selection.HomeKey unit:=wdLine '光标到行首
- Selection.EndKey unit:=wdLine, Extend:=wdExtend '选择光标到行尾
- Selection.Delete '删除
- Selection.HomeKey unit:=wdLine '光标到行首
- Selection.EndKey unit:=wdLine, Extend:=wdExtend '选择光标到行尾
- Selection.Delete
- End If
- Next
- Application.ScreenUpdating = True '恢复屏幕刷新
- End Sub
附件
删除每回下的特定标题_芐雨.rar
|
2楼 芐雨 |
其实用EXCEL操作技巧也能实现把文本复制粘贴到EXCEL中,操作动画如下:
|
3楼 0Mouse |
Word替换(手工操作或VBA)
|
4楼 0Mouse |
- Sub xqoa()
- With ThisDocument
- If .Paragraphs.Count > 2 Then
- Dim P As Paragraph
- Dim i As Integer
- For i = .Paragraphs.Count - 2 To 1 Step -1
- If .Paragraphs(i).Range Like "●第*" Then
- .Paragraphs(i + 1).Range.Delete
- .Paragraphs(i + 2).Range.Delete
- End If
- Next i
- End If
- End With
- End Sub
|
5楼 0Mouse |
Excel基础操作
|
6楼 0Mouse |
e问e答的主题帖建议把标题改成“如何……呢?”的形式。 |
7楼 芐雨 |
好的 |
8楼 芐雨 |
好的,谢谢 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一