0

メールの本文をメモ欄に入れる方法を教えてください。エラーが発生しています。

メールの本文をメモ欄に描き込みたい。

エラー # 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')
4

1 に答える 1

1

FoxPro で CREATEOBJECT を使用して Outlook の開いているインスタンスにアクセスすることはできません。GETOBJECT を使用する必要があり、使用している詳細を参照する必要があります。

その他の提案:

  1. FoxPro が不平を言う短いリストに含まれていなくても、1 文字の変数名を使用しないでください。
  2. o何かを行う前に、それがオブジェクトであり、良好な状態であることをテストします。
  3. AcitveInspectorユーザーが現在見ているものを探している場合を除き、またはそのオフィスの種類を使用しないでください。このような例では、API を検索して、各メール アイテムを単独でフィルター処理する方法を探しているはずです。
  4. 私は Outlook の内部メカニズムに 100% 精通しているわけではありませんが、ファイルのディレクトリに既にユーザーの電子メールがある場合は、代わりにそれをフィルタリングできるかどうかを確認する必要があります。MIME パーサーは、ネイティブ形式であれば簡単に手に入れることができます。XML であれば、DOM は VBA よりも簡単です。
于 2013-10-12T03:52:31.967 に答える