VBA宏用于复制位于表单文本框中的文本和文档

时间:2015-05-15 21:13:50

标签: forms vba ms-word word-vba

我有一个宏用于将文本过去写成我写的字母,如下所示:

Sub CT1()

Dim myText As String

'Insert text with custom font
myText = "Revisions are necessary"
Selection.Font.Name = "Times New Roman"
Selection.Font.Size = 12
Selection.Font.Bold = False
Selection.TypeText (myText)

我遇到的问题是,当我有一个很长的文本字符串时,这个方法变得很丑,因为我有一个很长的字符串,很难在VBA中读取。

我想要做的是创建一个带有文本框的表单来保存我的文本,我希望宏从文本框中获取文本并以与使用上述宏相同的方式过去。这将使我更容易编辑文本,但我不知道如何执行我的愿景。

请帮我写这个宏。

1 个答案:

答案 0 :(得分:0)

您需要使用Userform

您需要在项目中插入UserForm,然后添加两个CommandButtons和一个TextBox。见下文;

enter image description here

然后你可以按“F7”来获取代码并将其放在那里:

Private Sub CommandButton1_Click()
'This is the Insert Button
Dim myText As String

'Assigning the Text in the Text box
myText = UserForm1.TextBox1.Text

'Use a With Statement to reduce repetitive typing
With Selection
    .Font.Name = "Times New Roman"
    .Font.Size = 12
    .Font.Bold = False
    .TypeText (myText)
End With

End Sub

Private Sub CommandButton2_Click()
'This is the Exit Button

'Ends the Process
End
End Sub

文本将插入当前光标位置。

您接下来要做的就是从您的CT1 Sub:

致电UserForm1
 Sub CT1()
 UserForm1.Show