让以下代码以.Count变量结束。我想取整数值并将其输出到自定义UserForm中的句子。我如何在Visual Studio 2012设计器中执行此操作。这真的让我很难过。谢谢!
Public Shared Property mailItem As Object
Public Shared Property BodyMatchResults As MatchCollection
Public Shared Property SubjectMatchResults As MatchCollection
Public Sub Application_ItemSend(ByVal Item As Object, _
ByRef Cancel As Boolean) Handles Application.ItemSend
Dim mailItem As Outlook.MailItem = TryCast(Item, Outlook.MailItem)
If mailItem IsNot Nothing Then
Dim attachments = mailItem.Attachments
For Each attachment As Outlook.Attachment In attachments
AttachmentQuery(attachment, mailItem, Cancel)
Next attachment
End If
Dim BodyMatchResults As MatchCollection
Dim SubjectMatchResults As MatchCollection
Dim RegexObj As New Regex("\b(?!000)(?!666)(?!9)[0-9]{3}[ .-]?(?!00)[0-9]{2}[ .-]?(?!0000)[0-9]{4}\b")
BodyMatchResults = RegexObj.Matches(mailItem.Body)
SubjectMatchResults = RegexObj.Matches(mailItem.Subject)
If BodyMatchResults.Count > 0 Or SubjectMatchResults.Count > 0 Then
Cancel = True
MessageBox.Show((BodyMatchResults.Count + SubjectMatchResults.Count))
' Access individual matches using AllMatchResults.Item[]
Else
Cancel = False
End If
UserForm非常基本,有三个按钮,上面有警告文字。我希望在那段文字中“你的电子邮件中有”BodyMatchResults.count“或”subjectmatchresults.count“。
答案 0 :(得分:1)
嗯,你显然正在使用你的.count变量(为了论证,我假设它是Integer类型)。希望你也有自定义UserForm,我们假设你已经调用了UserForm。
在该UserForm中添加以下代码:
Private _count As Integer
Public Sub New (ByVal count AS Integer)
InitializeCompponent()
_count = count
End Sub
然后,您可以使用_count变量来显示您想要显示的信息。
现在,当您调用UserForm时,您可以将.count变量传递给它,以便可以像这样使用它:
dim frm as New UserForm(NumberOfCountsIWantToDisplay)
这个基本原则适用于大多数情况。
修改强>
显然,我没有正确地阅读。您的问题专门询问了传递全局变量的问题。您应该只需从应用程序中的任何位置引用公开定义的全局变量(只要该变量具有应用程序范围)。然而,全局变量可能更麻烦,它们是值得的,如果实际上你只是想从表单a传递一个值到表单b然后我会使用我最初概述的方法误读主题标题,我为此道歉。