使用VBA格式化Word中的多行文本框中的文本

时间:2009-11-23 15:25:13

标签: word-vba

我在Word中组合了一个模板,使用一个表单供用户填写然后填充一些文档。

我目前所处的位是文档的末尾,其中列出了cc。

表单有一个多行文本框,用户将其放入cc中,每行一个。

然后我想在文档末尾添加文本框的内容,但格式正确。具体来说,它应该看起来像:

cc:    First CC contact
       Second CC contact
       so on and so forth

我尝试使用2个书签来完成此操作,因此我的代码目前是:

' If 'CC' box has content, add it
If doc_CC.TextLength > 0 Then
    .Bookmarks("CC").Range.Text = vbCr + "cc:"
    .Bookmarks("CCs").Range.Paragraphs.Indent
    .Bookmarks("CCs").Range.Text = doc_CC + vbCr
End If

然而,当它运行时,在页面上看起来像:

       cc:     first contact
       second contact
       and so on

意识到2书签方法有点乱,但当时看起来好主意 - 显然事实并非如此!已经做了一些寻找方法来解决这个问题但是我没有在这条路上取得很大进展 - 怀疑我正在谷歌搜索错误的东西。

如何执行此操作以使格式符合要求?非常感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

尝试插入标签字符? + Chr(9)甚至+ vbTab都可以工作。

答案 1 :(得分:0)

已找到一项工作,虽然没有回答实际问题,但确实会产生相同的效果。

使用了2列表而没有没有行,而a1的内容是“cc:”,a2的内容是输入到多行文本框中的内容。如果文本框中没有任何内容,则表格将被删除。

我会继续留意这个问题但是如果有人确实有正确的答案我可以相应地标记。

答案 2 :(得分:0)

另一种可能性是使用悬挂缩进格式化cc段落(如用于项目符号或编号)。使用换行符 - Chr(11) - 而不是vbcr来分隔每个条目。文本应排成一行,然后......