Vba 用户表单复选框,用于填充word文档并确定下一个打开的表单

Vba 用户表单复选框,用于填充word文档并确定下一个打开的表单,vba,ms-word,Vba,Ms Word,所以我一直在尝试使用一些带有复选框的用户表单来填充word文档,但遇到了一个障碍。假设我让用户从复选框列表中选择他们最喜欢的动物: []猴子 []大象 []猫 因此,如果用户选择它们,它将在一行中填充。如果他们选择了多个,则应具有适当的格式(猴子、大象和猫或猴子和猫等) 除此之外,我希望根据选中的框弹出一个额外的表单(或表单?)。因此,如果有人检查猴子和猫,就会弹出一个框,框中会出现类似的内容(如果无法实现,则会出现一个又一个表单) 你最喜欢什么 猴子 他们吃香蕉 他们发出奇怪的声音 他们在

所以我一直在尝试使用一些带有复选框的用户表单来填充word文档,但遇到了一个障碍。假设我让用户从复选框列表中选择他们最喜欢的动物:

  • []猴子
  • []大象
  • []猫
因此,如果用户选择它们,它将在一行中填充。如果他们选择了多个,则应具有适当的格式(猴子、大象和猫或猴子和猫等)

除此之外,我希望根据选中的框弹出一个额外的表单(或表单?)。因此,如果有人检查猴子和猫,就会弹出一个框,框中会出现类似的内容(如果无法实现,则会出现一个又一个表单)

你最喜欢什么

猴子

他们吃香蕉

他们发出奇怪的声音

他们在树上荡秋千


他们是混蛋
它们喵喵叫
他们睡得很多

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

我尝试了几种不同的代码来填充复选框中的日期,并不断出现错误。我不能选择多于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
运算符不能那样使用
是逻辑/位运算符,用于
布尔
表达式或按位
操作


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

文本连接使用
&
,而不是
,此外,您需要更多的逻辑来确定逗号和“And”的位置这就解释了。我不知道这和“和”不同。谢谢
Then strAnimal = strAnimal And "Elephants, "