如何在包含小数,字母,罗马和子点列表的Word文档中识别和拆分段落或合并文本到子部分

时间:2014-01-21 07:06:30

标签: vba ms-word word-vba

我们经常在Word文档中获得封闭的文本/合并文本

它将具有数字编号(1到10)。

例如,这是包含7个点的文本。我希望将它分成子部分。

会议议程

1.股东特别股东大会的召开。 2.股东特别大会主席的选举。 3.出席会议记录的确认,并确认股东的股东特别大会已经适当地召开,并且能够采取有约束力的决议。 4.加入股东特别大会的议程。 5.关于出售有组织的企业部分的决议。 6.加强对银行监事会组成的决议。 7.股东特别大会的召开

结果:

1.股东特别股东大会的召开。

2.选举股东特别大会主席。

3.出席会议名单的确认,并确认股东的股东特别大会已经适当地召开,并且能够采取有约束力的决议。

4.加强股东特别大会的议程。

5.关于出售有组织的企业部门的决议。

6.加强对银行监事会组成的决议。

7.股东特别大会的召开

您可以提供分离/拆分的宏吗?编号将执行1,2 .... 103,104等请帮助。

如果编号是在罗马书(I,II,III,IV)和字母表(A,B,C,D)中的第二个问题形成如何创建一个宏来分割它们:

示例文字:

以字母编号

一个。根据德国商业第289(4)和315(4)节的报告,提交监事会报告,集团财务报表,集团年度报告和报告,介绍2010财年的财务报表和年度报告代码B.批准董事会主席的行为C.批准监事会的行为D.委任2011财政年度的审计师:普华永道会计师事务所,法兰克福E.监管选举。董事会(1)Peter Maria Wagner(2)Michael Hirschi(3)Andrea Sieber

输出:

一个。根据德国商业第289(4)和315(4)节的报告,提交监事会报告,集团财务报表,集团年度报告和报告,介绍2010财年的财务报表和年度报告代码

B中。批准医学博士的行为

℃。批准监事会的行为

d。委任2011财政年度的审计师:普华永道(PricewaterhouseCoopers AG),法兰克福

电子。选举监督。董事会(1)Peter Maria Wagner(2)Michael Hirschi(3)Andrea Sieber

将数字编号为字母并使用带数字的子点

A.1 2010年财务年度财务报表和年度报告的编制情况,报告A.2监事会,集团财务报表,集团年度报告A.3根据第289(4)节提交的报告和德国商业法典第315(4)条B.批准董事会主席的行为C.1批准监事会的行为C.2。委任2011财政年度的审计师:PricewaterhouseCoopers AG,​​Frankfurt C.3。选举监督。董事会(1)Peter Maria Wagner(2)Michael Hirschi(3)Andrea Sieber

输出:

A.1 2010年财政年度财务报表和年度报告的报告

A.2监事会,集团财务报表,集团年度报告

A.3根据德国商法典第289(4)和315(4)条提交的报告

B中。批准医学博士的行为

C.1批准监事会的行为

C.2。委任2011财政年度的审计师:普华永道(PricewaterhouseCoopers AG),法兰克福

C.3。选举监督。董事会(1)Peter Maria Wagner(2)Michael Hirschi(3)Andrea Sieber

以字母编号[罗马数字]

予。报告二介绍2010财政年度的财务报表和年度报告。监事会,集团财务报表,集团年报III。根据德国商业法典第IV条第289(4)和315(4)条提交的报告。批准医学博士委员会的行为V.批准监督委员会的行为VI。委任2011财政年度的审计师:PricewaterhouseCoopers AG,​​Frankfurt VII。选举监督。董事会(1)Peter Maria Wagner(2)Michael Hirschi VIII。选举Andrea Sieber担任董事

输出:

予。通过报告介绍2010财年的财务报表和年度报告

II。监事会,集团财务报表,集团年报

III。根据德国商法典第289(4)和315(4)条提交的报告

IV。批准医学博士的行为

诉批准监事会的行为

VI。委任2011财政年度的审计师:普华永道(PricewaterhouseCoopers AG),法兰克福

VII。选举监督。董事会(1)Peter Maria Wagner(2)Michael Hirschi

VIII。选举Andrea Sieber担任董事

请帮助开发正常数字的宏,(1,2,3,4..10,103,178等)罗马编号(I,II,III,IX,X,XII ...... XXV等),字母(A,B,C ...... X,Y,Z)和分裂

1 个答案:

答案 0 :(得分:0)

我想您的问题如下。你有一系列分隔符。并且您希望返回新段落和相同的分隔符。

所以问题就分成几部分了。

  • 创建分隔符。有三种类型:
  • 替换段落和分隔符的分隔符。查找delimiter并替换^pdelimiter。你需要一个循环。

以下是所有拉丁字母示例代码

Option Explicit
Sub replaceArrayForArray()
'
'to create array use prefix\suffix and replacing tool http://textmechanic.com/
'
'
findArray = Array("A.", "B.", "C.", "D.", "E.", "F.", "G.", "H.", "I.", "J.", "K.", "L.", "M.", "N.", "O.", "P.", "Q.", "R.", "S.", "T.", "U.", "V.", "W.", "X.", "Y.", "Z.")
replArray = Array("A.", "^pB.", "^pC.", "^pD.", "^pE.", "^pF.", "^pG.", "^pH.", "^pI.", "^pJ.", "^pK.", "^pL.", "^pM.", "^pN.", "^pO.", "^pP.", "^pQ.", "^pR.", "^pS.", "^pT.", "^pU.", "^pV.", "^pW.", "^pX.", "^pY.", "^pZ.")

For i = 0 To UBound(findArray)
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = findArray(i)
        .Replacement.Text = replArray(i)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = True
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute replace:=wdReplaceAll
Next i
End Sub

根据阿拉伯数字罗马数字调整代码。