代码之家  ›  专栏  ›  技术社区  ›  mactreb

无法将值从Userform传递到模块

  •  0
  • mactreb  · 技术社区  · 6 年前

    总之,我试图将所选项目的值从userform传递到ThisOutlookSession,但无法传递字符串。感谢你对我可能会出错的地方的想法。

    这个想法是用一个txt文件中的引用列表填充一个列表框(这很好),用户将从列表框中选择一个项目,然后该项目将被附加到发送电子邮件的主题行的末尾。(下面省略了代码中修改主题行的部分)。

    在本次展望课程中:

    Public subString As String
    
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    
    SubjectAdd.Show
    [CODE OMITTED,  but the gist of it is item.subject = item.subject & strstring]
    
    End Sub
    

    在SubjectAddUserForm中:

    Private Sub Append_Click()
    
    Dim i As Long
    Dim lngCount As Long
    
      lngCount = 0
      For i = 0 To MatterList.ListCount - 1
        If MatterList.Selected(i) = True Then
          lngCount = lngCount + 1
          If lngCount = 1 Then
            StrPicks = MatterList.List(i)
          Else
            StrPicks = StrPicks & " " & MatterList.List(i)
          End If
        End If
      Next i
    
    subString = StrPicks
    Me.Hide
    
    lbl_Exit:
      Exit Sub
    
    End Sub
    
    1 回复  |  直到 4 年前
        1
  •  0
  •   DisplayName    6 年前

    这个 Public 变量应该起作用

    作为替代用途 Tag 财产 UserForm 对象

    在里面 Append_Click() 在之前添加最后一行 Me.Hide

    Me.Tag = StrPicks
    

    然后进来 Application_ItemSend() ,在任何

    Unload SubjectAdd
    

    放置以下内容

    subject = item.subject & SubjectAdd.Tag