用户表单复选框以填充Word文档并确定下一个打开的表单

时间:2018-06-20 17:46:44

标签: vba ms-word word-vba

因此,我一直在尝试使用带有复选框的某些用户表单来填充Word文档并遇到麻烦。假设我让用户从复选框列表中选择自己喜欢的动物:

  • []猴子
  • []大象
  • []猫

由此,如果用户选择它们,它将填充在一行上。如果选择多个,则格式应正确(猴子,大象和猫或猴子和猫等)

除此之外,我还希望根据选中的框弹出一个附加表单(或表单?)。因此,如果某人选中了“猴子和猫”,则会弹出一个类似这样的框(如果这种情况不可能,则一个接一个地出现)

您最喜欢

的什么

猴子

他们吃香蕉

他们发出有趣的声音

他们在树上荡秋千


他们是混蛋
他们喵喵
他们睡很多

从那里开始,它将使用与上面相同的逻辑,用逗号和“和”填充。

我尝试了几种不同的代码,以通过复选框填充日期并不断出错。我不能选择2个以上,或者如果我选择的仅是最后一个被插入。如果要紧的话,我正在使用书签插入数据。

Private Sub cmdFavAnimalNext_Click()
Dim strAnimal As String
If cbxMonkey = True Then strAnimal = "Monkeys, "
If cbxElephants = True Then strAnimal = strAnimal And "Elephants, "
If cbxCats = True Then strAnimal = strAnimal And "Cats, "


'Clean up formatting

With ActiveDocument
    .Bookmarks("Animal").Range.Text = strAnimal
End With
Application.ScreenUpdating = True
Unload Me


'Next Userform based on checks

1 个答案:

答案 0 :(得分:1)

Then strAnimal = strAnimal And "Elephants, "

不能以这种方式使用And运算符。 And是在Boolean表达式或按位And操作中使用的逻辑/按位运算符。

要连接字符串,请使用&运算符。也可以使用+运算符,但最好使用&,因为+还可以用作“加法”运算符,而&仅用于字符串连接