我在 Word 2013 和 2010 中运行,所以我可以使用在其中任何一个中工作的代码。我正在尝试创建一个 word 文档来跟踪我的食谱。在最基本的情况下,我希望有一个基于标题更新的目录。我还希望它有任何我想要的类别(例如:开胃菜、饮料、主菜等),按字母顺序排列。在每个类别下我都有表格。每个食谱都有一个表格,上面有它的名称、方向、注释、标签,可能还有一张图片。第二个单元格内部还有另一个两列表格,其中包含配方所需的每种成分的数量和名称。
到目前为止,我已经拥有了所有这些,并且我想自动添加新的类别和食谱。目前,我必须找到类别,然后向下滚动以按字母顺序查找名称的位置并插入我制作的快速表格。然后我填写信息。
我希望能够在文档中搜索每个类别名称,然后将新类别插入它所属的任何位置,前后各留一个空格。我发现如果我在所有东西之间没有空格,我的桌子会给我带来麻烦。它试图将它接触到的任何东西拉到表中并合并它们。
我想提供背景故事,这样你就会知道我最终会去哪里,并且可以提供更适合我需要的帮助。在我可以添加一个新类别之后,我计划使用 vba 按每个表的第一个单元格中的名称按字母顺序组织每个表。当我开始向它添加排序时,它也会有所帮助。最终,我希望能够将其分类为仅显示某个人的食谱,或者显示我经常使用的食谱。然后我让它要么隐藏所有其他人,要么只用这些创建一个新文档。所以感谢您的帮助。下面我将发布我最近尝试过的代码。我尝试了相同代码的其他一些变体,并不断得到“预期的语句结束”。在尝试它的其他变体时,我遇到了其他错误,但这是我自己能想到的最好的。
Private Sub UserForm_Initialize()
For Each cat In ActiveDocument.Styles = "Heading 1"
lstCat.AddItem (cat)
Next
End Sub
我有一个名为 frmAddCategory 的表单用作测试。我将有一个列表框 lstCat 来显示带有样式标题 1 的每个类别。我有一个名为 txtAdd 的文本框来输入新的,还有一个 cmdAdd 按钮来将其添加到表单中。
编辑:在了解大纲视图模式后,我一直在玩我的宏记录器。我将其设置为仅显示“标题 1”级别并选择了我想要的级别,而不是选择附录或参考。然后我转到主页选项卡并按字母升序对段落进行排序。我得到了一些代码,我相信我可以用它来让它在 VBA 中运行。但是,这不是一个完整的修复,因为我不想选择带有标题 1 的最后两个。如果我手动选择每个标题 1 下的表格,它也可以工作,但我无法设置前后的间距。我希望每个标题和它们下面的表格之间有一个或两个空格,以用于外观和编辑目的。
另外,如果有人要给我的问题一个负面评价,那么请发表评论解释。据我从关于论坛的常见问题解答和我看到的其他问题中可以看出,这是一个很好的问题。一个清晰的标题,一个很好的问题解释,代码示例,研究。因此,如果我做错了什么,请通知我,以便我纠正。