字VBA:循环虽然场

你好,亲爱的社区!

我有相当多的我的文档中的{REF ... \ r \ h}可以交叉引用。 你可以建议我VBA宏循环尽管所有REF领域并改变其格式吗?

谢谢!

--------------解决方案-------------

你可以使用类似于下面的东西。 格式ORNG与任何格式化您需要 - 在这里粗体字。

昏暗oStory由于范围
昏暗oFld由于现场
昏暗ORNG由于范围
对于每个oStory在ActiveDocument.StoryRanges
对于每个oFld在oStory.Fields
如果oFld.Type = wdFieldRef然后
设置ORNG = oFld.Result
oRng.Font.Bold = TRUE
万一
接下来oFld
如果oStory.StoryType <> wdMainTextStory然后
虽然没有(oStory.NextStoryRange为Nothing)
设置oStory = oStory.NextStoryRange
对于每个oFld在oStory.Fields
如果oFld.Type = wdFieldRef然后
设置ORNG = oFld.Result
oRng.Font.Bold = TRUE
万一
接下来oFld
WEND
万一
接下来oStory
设置oStory =什么

你将有更具体一点。 你是说你要添加围绕REF域方括号? 在这种情况下,代替的两个实例

oRng.Font.Bold = TRUE

oRng.InsertBefore“[”
oRng.InsertAfter“]”

你可以使用类似于下面的东西。 格式ORNG与任何格式化您需要 - 在这里粗体字。

昏暗oStory由于范围
昏暗oFld由于现场
昏暗ORNG由于范围
对于每个oStory在ActiveDocument.StoryRanges
对于每个oFld在oStory.Fields
如果oFld.Type = wdFieldRef然后
设置ORNG = oFld.Result
oRng.Font.Bold = TRUE
万一
接下来oFld
如果oStory.StoryType <> wdMainTextStory然后
虽然没有(oStory.NextStoryRange为Nothing)
设置oStory = oStory.NextStoryRange
对于每个oFld在oStory.Fields
如果oFld.Type = wdFieldRef然后
设置ORNG = oFld.Result
oRng.Font.Bold = TRUE
万一
接下来oFld
WEND
万一
接下来oStory
设置oStory =什么

谢谢!
什么是最好的解决方案的编码格式裁判盖上方括号:

[1]

[5,10]

[1,5,10]

你将有更具体一点。 你是说你要添加围绕REF域方括号? 在这种情况下,代替的两个实例

oRng.Font.Bold = TRUE

oRng.InsertBefore“[”
oRng.InsertAfter“]”

哦,对不起。

我的意思是改变裁判方括号的格式如下四舍五入的格式:

[1]

[5,10]

[1,5,10]

[1,4,...,38]

您可以发布该文件的某个地方比如Dropbox的或SkyDrive中的具有代表性的样本,这样我可以看看吗?

您可以发布该文件的某个地方比如Dropbox的或SkyDrive中的具有代表性的样本,这样我可以看看吗?

在这里,您是:https://www.dropbox.com/s/owqbddfl0s4179k/REF%20sample.docx
OK尝试以下。 你还没说你怎么想他们格式化,但设置要在那里你看到.Font.Italic格式= TRUE

注意,结果将是不可预测的,如果托架对之一是缺少:)

昏暗oStory由于范围
昏暗oFld由于现场
昏暗ORNG由于范围
对于每个oStory在ActiveDocument.StoryRanges
对于每个oFld在oStory.Fields
如果oFld.Type = wdFieldRef然后
如果INSTR(1,oFld.Code“_Ref”)> 0。然后
设置ORNG = oFld.Result
随着ORNG
.MoveStartUntil“[”,wdBackward
。开始= oRng.Start - 1
.MoveEndUntil“]”,1
.END = oRng.End + 2
.Font.Italic = TRUE
结束与
万一
万一
接下来oFld
如果oStory.StoryType <> wdMainTextStory然后
虽然没有(oStory.NextStoryRange为Nothing)
设置oStory = oStory.NextStoryRange
对于每个oFld在oStory.Fields
如果oFld.Type = wdFieldRef然后
如果INSTR(1,oFld.Code“_Ref”)> 0。然后
设置ORNG = oFld.Result
随着ORNG
.MoveStartUntil“[”,wdBackward
。开始= oRng.Start - 1
.MoveEndUntil“]”,1
.END = oRng.End + 2
.Font.Italic = TRUE
结束与
万一
万一
接下来oFld
WEND
万一
接下来oStory
设置oStory =什么

分类:办公室 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 2.729 (s). 10 q(s)