电子邮件正文进入备忘录字段

时间:2013-10-03 20:20:43

标签: visual-foxpro

如何将电子邮件正文放入备忘录字段?我收到了一个错误。

我想将电子邮件的正文绘制到备忘录字段中。

错误#1943 消息:成员ACTIVEINSPECTOR不评估对象

USE CMCONTROL IN 0
USE CMEMAILS IN 0

local array MyFiles[1,5]
    nFilesFound = ADIR( MyFiles, ALLTRIM(cmcontrol.cpath) + '*.*')
    xx = 0
for i = 1 to nFilesFound
    xx = xx + 1
    WAIT WINDOW NOWAIT 'FortenStar® Count-O-Matic'+CHR(13)+CHR(13)+'Email Record Count: '+ ALLTRIM(STR(xx))
    ***********************************************************************************
    *** HOW CAN I MAKE THIS WORK?
    ***********************************************************************************     
    msgfile=ALLTRIM(cmcontrol.cpath) + ALLTRIM(cmemails.csubject)
    o = CreateObject("Outlook.Application")
    emailmsg = o.ActiveInspector.CurrentItem
    memofiledvariable = emailmsg.body
    ***********************************************************************************
    ***********************************************************************************
    ***********************************************************************************     
    insert into cmemails (cprimary, csubject, ddate, dtime, cattribs, mbody) values (generateGuid(26), MyFiles[ i, 1], MyFiles[ i, 3], MyFiles[ i, 4], MyFiles[ i, 5], memofiledvariable)
endfor
USE IN SELECT('CMEMAILS')
USE IN SELECT('CMCONTROL')

1 个答案:

答案 0 :(得分:1)

在FoxPro中使用CREATEOBJECT无法访问Outlook的打开实例。您需要使用GETOBJECT,然后您需要参考您正在使用的细节。

其他一些建议:

  1. 不要使用单字母变量名,即使它们不在FoxPro抱怨的短名单中。
  2. 在使用它之前测试o是一个对象并处于良好状态。
  3. 除非您正在寻找用户当前正在查看的内容,否则请勿使用AcitveInspector或其办公室亲属。在这样的示例中,您应该在API中搜索如何自行过滤每个电子邮件项目。
  4. 虽然我对Outlook的内部机制并不是100%熟悉,但如果你已经在文件目录中获得了用户的电子邮件,那么你真的应该看看是否可以过滤掉它。如果它采用原生格式,那么MIME解析器并不难获得,如果它是XML,则DOM比VBA更容易。