我有一个正在运行的代码,可以用来阅读电子邮件正文。问题是我想移动我阅读的邮件。例如,我在收件箱中阅读了邮件,并且想将其移动到 Outlook 中的另一个文件夹。在 searchin 之后,我可以使用 Move 命令执行此操作,但我的程序给出了错误“Array out of bounds”。例如,我在 Outlook 收件箱中有 4 封电子邮件,它只移动 2 个文件并给出此错误。我的代码有什么问题?请帮忙谢谢
try
ovOutlook := CreateOleObject('Outlook.Application');
ovNameSpace := ovOutlook.GetNameSpace('MAPI');
ovNameSpace.Logon('', '', False, True);
ovFolder := ovNameSpace.GetDefaultFolder(olFolderInbox);
OtherFolder:=ovFolder.Parent.Folders('BTM');
deger:= ovFolder.items.count;
for ii := 1 to deger do begin
if VarIsNull(ovFolder.Items[ii]) or VarIsEmpty(ovFolder.Items[ii]) then Continue;
ovEmailItem := ovNameSpace.GetItemFromID(ovFolder.Items[ii].EntryID);
ovFolder.Items[ii].Move(otherfolder);
end;
finally
ovEmailItem := Unassigned;
ovOutlook := Unassigned;
ovNameSpace := Unassigned;
ovFolder := Unassigned;
OtherFolder := Unassigned;
end;