本帖最后由 yym_0114 于 2016-7-16 20:06 编辑
我需要达到的效果是:在没有※标记的段落前加上※。举例:
※《齐齐哈尔市志稿·交通志》,内部发行,1988年,第6页。 ※徐世昌等编纂:《东三省政略》,长春:吉林文史出版社,1989年。 ※《齐齐哈尔市第二商业局志》,内部发行,1992年,第17-21页。 齐齐哈尔档案馆藏:《齐齐哈尔经济概况》。 齐齐哈尔档案馆藏:《黑龙江省城办理市政报告书》。 《齐齐哈尔市志·文化卷》,合肥:黄山书社, 1999年,第125-129页。 ※齐齐哈尔市档案馆藏档案51-34-51。 ※魏声和:《鸡林旧闻录》,长春:吉林文史出版社,1986年,第47页。 ※丁世良、赵放编:《中国地方志民俗资料汇编》东北卷,北京:北京图书馆出版社,1989年。 [美]Walter Young:《美报之华人满洲移民运动观》,《东方杂志》1928年第25卷第24号。[美]Walter Young:《美报之华人满洲移民运动观》,《东方杂志》1928年第25卷第24号。 ※丁世良、赵放编:《中国地方志民俗资料汇编》东北卷,北京:北京图书馆出版社,1989年。
我的思路是:先查找段前不带※的段落;然后判断该段落有几行,如果有一行,就用现在的代码,如果是一行以上,就增加一个把光标调整到段首的代码;最后用替换的方法加上※。 现在遇到的问题是这样的:上面三个一行的段落都没问题,但是最下面那个两行的段落,不管我怎么调整代码,※的位置总是在第二行之前,而不能到段首的位置。关键问题是,我不知道这个判断段落行数的代码该怎么写;或者能不能换一个思路来达到目的。这就要请教word VBA方面的高手了。多谢!
我现在的代码是这样的: - Sub 宏6()
- Selection.Find.ClearFormatting
- Selection.Find.Replacement.ClearFormatting
- With Selection.Find
- .Text = "^13[!※]*^13"
- .Replacement.Text = "^&"
- .Forward = True
- .Wrap = wdFindContinue
- .MatchWildcards = True
- End With
- Selection.Find.Execute
- Selection.MoveUp Unit:=wdParagraph, Count:=-1
- Selection.MoveUp Unit:=wdLine, Count:=1
- With Selection.Find
- .Text = "*^13"
- .Replacement.Text = "※^&"
- .Forward = True
- .Wrap = wdFindStop
- .MatchWildcards = True
- End With
- Selection.Find.Execute Replace:=wdReplaceOne
- End Sub
复制代码
补充内容 (2022-9-19 15:34):
已解决 |