ms-word - VBA Word 将文本框文本/段落垂直对齐设置为 "center"

标签 ms-word textbox vertical-alignment shapes

我在Word中创建了一个文本框,可以为其设置各种属性,例如位置、文本、文本样式、文本水平对齐方式(左/右/居中)、颜色等等。

但我找不到任何设置来将框中文本的垂直对齐设置为顶部/中间/底部。功能区上有一个用于设置该属性的垂直对齐按钮,但我无法通过对象检查器、智能感知或网络搜索找到它。我尝试录制一个宏,但在宏中出现的唯一一行是用于选择文本框的 VBA 行。没有其他的。 :-(

功能区按钮位于“设置文本方向”选项旁边,但我也找不到该设置的 VBA。我还尝试了 Textframe2 属性,但在垂直对齐方面看不到任何内容。

下面是设置文本水平对齐方式的代码。另外,我包括了我认为需要使用的枚举。但是我找不到接受枚举值的属性。

   tbox.TextFrame.TextRange.ParagraphFormat.Alignment = wdAlignParagraphRight

WdVerticalAlignment enumeration (Word):
Name                 Value  Description
wdAlignVerticalBottom   3   Bottom vertical alignment.
wdAlignVerticalCenter   1   Center vertical alignment.
wdAlignVerticalJustify  2   Justified vertical alignment.
wdAlignVerticalTop      0   Top vertical alignment.

有谁知道我需要设置以垂直对齐文本框形状内文本的属性的语法?谢谢

最佳答案

该属性是 TextFrame.VerticalAnchor,它使用枚举 MsoVerticalAnchor

例如:

ActiveDocument.Shapes(1).TextFrame.VerticalAnchor = msoAnchorMiddle

(问题中提到的枚举是针对页面布局的。)

关于ms-word - VBA Word 将文本框文本/段落垂直对齐设置为 "center",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60745362/

相关文章:

vba - 在 Word 中从 VBA 创建和保存 Excel 文档

javascript - SharePoint 在单击时传递文本框的值以更新列表列

用于鼠标单击屏幕上任何文本框的 Java 监听器

textbox - 如何移动到 ionic 上的下一个输入字段

css - 垂直对齐两列,较短和较长的文本

html - 如何将 div 一个接一个地排列?

c# - 查找突出显示的文本

.net - BlipExtension Schema URI : "28A0092B-C50C-407e-A947-70E740481C1C" 的值

css - 如何对齐表格单元格中的两个 div

vba - 循环PDF文件并将它们转换为带有word的文档