Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一个「;“优雅”;在Word 2007宏(VBA)中实现自动编号的方法?_Vba_Ms Word_Word 2007_Sequential Number - Fatal编程技术网

是否有一个「;“优雅”;在Word 2007宏(VBA)中实现自动编号的方法?

是否有一个「;“优雅”;在Word 2007宏(VBA)中实现自动编号的方法?,vba,ms-word,word-2007,sequential-number,Vba,Ms Word,Word 2007,Sequential Number,好的,基本上我们在Word 2007启用宏的模板中有两个独特的部分,对于每个部分,我们有两个表单标准的条目,然后有大约20个可选条目,全部由自动图文集处理。模板和“自动图文集”条目之间的格式相同,我希望在添加条目时自动为条目编号(用户键入“自动图文集”关键字短语或点击功能区上的按钮插入)。 有没有一个简单的方法可以做到这一点? 下面是处理其中一个(编号)条目的代码块,以及我从其他论坛的其他建议中尝试实现的编号方案(在这里找不到任何有用的内容): 任何有建设性的意见都将非常感谢,以帮助解决这个问题

好的,基本上我们在Word 2007启用宏的模板中有两个独特的部分,对于每个部分,我们有两个表单标准的条目,然后有大约20个可选条目,全部由自动图文集处理。模板和“自动图文集”条目之间的格式相同,我希望在添加条目时自动为条目编号(用户键入“自动图文集”关键字短语或点击功能区上的按钮插入)。 有没有一个简单的方法可以做到这一点? 下面是处理其中一个(编号)条目的代码块,以及我从其他论坛的其他建议中尝试实现的编号方案(在这里找不到任何有用的内容):

任何有建设性的意见都将非常感谢,以帮助解决这个问题。总体而言,我对编程还是很陌生,我的大部分经验都是在C#和Java中

编辑:文件的结构基本上是一组包含法律文本的逐项列表,用户可在上诉过程的各个阶段对其进行更新。在最后两个部分中的每一部分中,分项清单都需要遵循特定的编号方案(编号为.5”,文本为1”,右制表符为1”)这不是Word 2007的原生版本。每个章节都有一个粗体标题,这是编号的起点。自动图文集条目将根据用户的需要添加。文档的其余部分从我们的数据库中提取信息,并包含文档所需的法律措辞。
如果我能想出如何开始为每个部分单独编号,那么我就可以完成这项工作。

我实际上已经想出了自己的解决方案。问题是试图在(2)上插入一个自动图文集条目编号行,因为它读取整行并认为它是一个自动图文集条目。它不是只读取ii ff或od ff,而是读取1.ii ff,这不是一个有效的自动图文集条目(按名称)

这允许在空行上插入“自动图文集”条目,并继续预格式化的编号系统,该系统不是Word 2007固有的。现在我只需要找出最简单的方法,在插入的选择中突出特定的单词。应该不会太糟糕:

    'set array of text entries (6)
    'begin loop
    'find and highlight entry(i)
    'end loop

为了更好地理解文档结构,能否将链接附加到文档?
                    Case "cboFF"
                        SetMargins 0, 1, 1
                        Selection.ParagraphFormat.Space1
                        Selection.Text = "FINDINGS OF FACT" & vbLf
                        Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
                        Selection.Font.Bold = True
                        Selection.Font.Underline = wdUnderlineSingle
                        Selection.Collapse (wdCollapseEnd)
                        Selection.Text = vbLf
                        Selection.ParagraphFormat.SpaceAfter = 6
                        Selection.Collapse (wdCollapseEnd)
                        Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
                        Selection.Font.Underline = wdUnderlineNone
                        Selection.Font.Bold = False
                        SetMargins -0.5, 1, 1
                        'AutoNumberOn
                        Selection.Text = "1." & vbTab & "On " & strDateFOF & strEntry1 & vbLf
                        Selection.ParagraphFormat.SpaceAfter = 6
                        Selection.Collapse (wdCollapseEnd)
                        Select Case strCaseCategory
                            Case "IND", "IND SELF-I"
                                 If frmIIOD.optII.Value = True Then
                                    Selection.Text = "2." & vbTab & strIIEntry & vbLf
                                    Selection.ParagraphFormat.SpaceAfter = 6
                                    Selection.Collapse (wdCollapseEnd)
                                    Selection.Text = "3." & vbTab & "" & vbLf
                                    Selection.Collapse (wdCollapseEnd)
                                End If
                                If frmIIOD.optOD.Value = True Then
                                    Selection.Text = "2." & vbTab & strODEntry & vbLf
                                    Selection.Text = "3." & vbTab & "" & vbLf
                                    Selection.Collapse (wdCollapseEnd)
                                End If
                                If frmIIOD.optNotNeeded.Value = True Then
                                    Selection.Text = "2." & vbTab & "" & vbLf
                                    Selection.ParagraphFormat.SpaceAfter = 6
                                    Selection.Collapse (wdCollapseEnd)
                                End If
                            Case Else
                                'Do Nothing
                        End Select
    'set array of text entries (6)
    'begin loop
    'find and highlight entry(i)
    'end loop