我在Word 2013和2010中运行,因此我可以使用可在其中运行的代码。我正在尝试创建一个word文档来跟踪我的食谱。从根本上说,我希望有一个基于标题更新的TOC。我也希望它有我想要的任何类别(例如:开胃菜,饮料,Entrée等......)按字母顺序排序。在每个类别下我都有表格。每个食谱都会有一个表格,其中包含名称,方向,注释,标签以及可能的图片。第二个单元格内部有另外两个列表,其中包含配方所需的每种成分的数量和名称。
到目前为止,我已经完成了所有这些工作,并且我希望自动添加新的类别和配方。目前,我必须找到该类别,然后向下滚动以查找名称按字母顺序排列的位置并插入我制作的快速表格。然后我填写信息。
我希望能够在文档中搜索每个类别名称,然后在它所属的任何地方插入新类别,并在其前后加上空格。我发现如果我在所有东西之间没有空间,我的桌子会给我带来麻烦。它试图将它触及的任何内容拉到表中并合并它们。
我想给出背景故事,所以你知道我最终会去哪里,并且可以提供更符合我需要的帮助。在我可以添加新类别之后,我计划使用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下的表格,它也有效,但我无法设置前后的间距。我希望每个标题和它们下面的表格在每个标题和编辑目的之间都有一两个空格。
另外,如果有人要对我的问题给出负面评价,那么请发表评论解释。据我所知,关于论坛和我见过的其他问题,这是一个很好的问题。一个明确的标题,一个很好的解释问题,代码示例,研究。所以如果我做错了,请通知我,以便我能纠正。
答案 0 :(得分:0)
首先感谢您对宏录制器和大纲模式的看法,我一直在尝试用两个HeadingLevel(1)标题之间的selection.text填充列表框。
现在对你而言,抱歉,我无法用言语来思考。但它在Access中真的很容易。一个类别的表,如名为tblCategories,另一个用于食谱tblRecipes。要真正轻松,在所有表上使用autoID时。但是为了避免tblRecipes的大量令人头疼的问题,将其autoID重命名为其他表的RecipesID。在食谱表中,您可以使用备忘录字段来保存大量数据。标题中的文本位置将放在tblRecipes的一个字段中。一旦你有表格想要为你想要跟踪的每个项目都有一个字段。点击保存,然后使用向导创建基于表格的表单。重复所有想要的表格,将信息放入任何表格都很容易。
1.reportTOC基于您想要的每个标题的查询,可以预览或打印。 reportByCategory等报告按a到z排序,除非你想按所有者排序,然后配方全部自动排序a - z。
报告向导获取硬拷贝。如果你想要真正轻松,内置的排序。如果想要能够选择假期真正容易的所有食谱,一个表tblHolidays。一个tblHolidayRecipes字段autoId(你不在任何地方使用,但需要),fldRecipesId(包含RecipesId),fldHolidayId(包含HolidayId)。向导将显示如何仅获得您想要的内容。在访问2013年,你可以包括食物或。