0

我已经集成了一个选项卡名称“Philip Prosenber”和一个按钮(还为此按钮添加了自定义灯泡图标)以使用 office 自定义 UI 编辑器运行 VBA 宏。

我的 .docm 模板“Springer Publishing”如下所示:

我的计划是为用户插入一个文本框,以便他们可以使用如下所示的预定义格式(满足所有要求):

但有人建议我这样做:

  1. 使用表格,否则它不会让灯泡在文本框中自动垂直居中。
  2. 使用快速部件/构建块而不是使用代码。

所以我使用以下代码将表格输入到 .docm 模板中:

Sub Insert_Table_Textbox()
    Set newDoc = ActiveDocument
    Set mytable = _
     newDoc.Tables.Add(Range:=Selection.Range, NumRows:=1, _
     NumColumns:=2)
    mytable.Cell(1, 1).SetWidth ColumnWidth:=InchesToPoints(1.3), RulerStyle:=wdAdjustNone
    mytable.Cell(1, 2).SetWidth ColumnWidth:=InchesToPoints(5.3), RulerStyle:=wdAdjustNone
    mytable.Shading.BackgroundPatternColor = -603917569
    mytable.Cell(1, 2).Range.InsertAfter "<Enter information content here>"
    mytable.Cell(1, 1).Range.InsertAfter "icon" ''here I need to select insert icon which I already have embedded in given template.
    mytable.Cell(1, 2).Range.Select

End Sub

如何在单元格 1 中插入该灯泡图标?这样它应该看起来像我需要的表。灯泡图标已由 Microsoft 使用自定义用户界面编辑器添加到模板中。

注意:我同时使用 MS word 2010-13。.docm 模板,以便任何人都可以使用它。

4

2 回答 2

2

您需要调整单元格的垂直对齐方式和段落格式。这是一个示例代码,您应该修改它以与您现有的代码集成。

With ActiveDocument.Tables(1).Cell(1, 1).Range
    .ParagraphFormat.Alignment = wdAlignParagraphCenter
    .Cells.VerticalAlignment = wdCellAlignVerticalCenter
End With
于 2021-04-06T12:34:49.090 回答
1

一种不需要代码的替代方法。

确保文档已保存为模板(.dotx 或 .dotm) 添加一个包含两个单元格的表格并根据需要设置格式。根据需要插入图标和大小。将内容控件(请参阅开发人员选项卡)插入要插入文本的单元格中。选择表格并从插入选项卡中选择快速部件,然后将选择保存到快速部件库

在此处输入图像描述

在对话框中为您的构建块命名并为其选择适当的库。默认情况下不显示“自定义”画廊,因此对于自定义功能区选项卡很有用。 在此处输入图像描述

现在删除您创建的表。

编辑模板的功能区 xml 以添加您保存构建基块的库。

<control idMso="CustomTablesGallery" size="large" label="Custom Tables" />

用户将从图库中插入构建块。

在此处输入图像描述

您现在有一个独立的模板,可以分发给其他用户,而不依赖于其他文件。

于 2021-04-06T14:53:40.843 回答