我在Access vba方面还算不错,但Word对我来说是一门新的方言。
我在一家有电子病历(EMR)的医院工作。我们需要护士临床进度记录的特定格式和结构,而不能在EMR中创建和执行。我创建了一个Word vba UserForm,"frmProgNote“附加到文档"ProgNote.doc”中。FrmProgNote“有一个文本框,可以创建我们需要的文档结构,还有一个命令按钮,当点击时,它会将表单中的信息发送到ProgNote.doc中的书签,并复制文档中的所有文本,包括新插入的文本到剪贴板上。然后用户将其粘贴到电子病历中。这一切都很好用(信不信由你),但现在他们希望同时打开多个frmProgNote副本,以便他们可以同时在几个患者之间移动。
我已经做了两天了,就是搞不懂。我发现我无法打开Word的多个实例,也无法在多个实例中打开相同的表单。我复制了文档和表单,所以现在有了frmProgNote1的ProgNote1.doc和frmProgNote2的ProgNote2.doc。我可以同时打开这两个表单,但是如果先打开frmProgNote1,然后再打开frmProgNote2,我只能复制来自frmProgNote2的数据;copy按钮不会复制第一个表单中的任何内容。我可以单击frm1并让它获取新数据,但copy按钮不再起作用。有什么建议吗?非常感谢。
发布于 2013-07-26 06:18:04
下面的代码提供了创建UserForm的新实例的基础。
Private frmNewInstance As Object
Private Sub CommandButton1_Click()
Set frmNewInstance = UserForms.Add(Me.Name)
frmNewInstance.Show
End Sub
Private Sub UserForm_Terminate()
Set frmNewInstance = Nothing
End Sub有必要控制object-reference,在关闭表单实例时将其设置为Nothing。
请注意,此过程不像在VB.NET或C#中那样健壮或可靠。特别是,在表单的不同实例之间进行区分更加困难。
考虑的一种方法是使用表单的Tag属性:
frmNewInstance.Tag = "OtherOne"
frmNewInstance.Showhttps://stackoverflow.com/questions/17869507
复制相似问题