ОК, тогда вам нужно забыть о Outlook. (С или БЕЗ Microsoft Office означает, что ваш код не может зависеть от Outlook.) Я просто хочу дать вам еще одну ссылку, посмотрите на него: rondebruin.nl/win/s1/cdo.htm
CDO занимает несколько попыток, чтобы выяснить, и вам нужно знать специфику почтового ящика, который вы используете для отправки письма. (Как и в настройках SMTP и т.д.)
О коде:
Set deMail = deApp.createitem(deMailItem)
deMailItem не имеет смысла, она должна быть постоянной, olMailItem. Но если вы используете позднюю привязку, вы не можете использовать константы из пространства имен Outlook. Вместо этого используйте 0, а olMailItem = 0.
Set deMail = deApp.createitem(0)
Кроме того, видимое = истинное не существует ни для Outlook, ни для элементов почты. Если вы хотите отобразить почтовый адрес, используйте:
deMail.Display
О, и еще одно. Вы должны проверить, работает ли Outlook, и если он уже есть, его не следует перезапускать, просто используйте существующую программу. См. here.
Надеюсь, это поможет!
Попробуйте использовать позднюю привязку. См. [Здесь] (http://superuser.com/questions/615463/how-to-avoid-references-in-vba-early-binding-vs-late-binding) или [здесь] (поддержка https: //. microsoft.com/en-us/kb/245115) – vacip
@vacip Я пробовал этот метод, но, похоже, я не работал для меня. – Iluvpresident