我写了段代码如下
Dim MAPIMessages1 As MAPIMessages
Dim MAPISession1 As MAPISession
    MAPISession1.UserName = "*******@163.com"
    MAPISession1.Password = "****"
    MAPISession1.SignOn
    With MAPIMessages1
        .MsgIndex = -1
        .RecipDisplayName = "******@jmtimes.com"
        .MsgSubject = "log文件"
        .MsgNoteText = "您好"
        .AttachmentPathName = "C:\Documents and Settings\Administrator\My Documents\nt_service\y.txt"
        .SessionID = MAPISession1.SessionID
        .send
    End With
    MAPISession1.SignOff
可运行到MAPISession1.UserName = "*******@163.com"就报"Object variable or With block variable not set"
我把MAPISession1.UserName = "*******@163.com"
    MAPISession1.Password = "****"
删了,可运行到MAPISession1.SignOn还是报"Object variable or With block variable not set"
希望高人帮忙,一定给分

解决方案 »

  1.   

    LZ将MAPIMessages1和MAPISession1在设计时就拖到窗体上,不要在代码中定义它们
      

  2.   

    你代码中仅仅定义了这两个类型的对象。没有实例化对象,当然会出现
    Object variable or With block variable not set设计时将这两个东东放到Form上。
    如果非得在代码中定义,那就使用New动态生成这两个控件在Form上。
      

  3.   

    Dim MAPIMessages1 As MAPIMessages
    Dim MAPISession1 As MAPISession在代码里定义也可以的不过
    Dim MAPIMessages1 As new MAPIMessages
    Dim MAPISession1 As new MAPISession