Добавить строку в тему письма, ЕСЛИ еще не там - PullRequest
0 голосов
/ 26 апреля 2018

Я попробовал приведенный ниже код и получил ошибку компиляции: неверный квалификатор на olMail. Я приложил рис ошибки. Итак, он говорит, что мне нужно добавить более подробную информацию о проблеме, поэтому я хочу добавить строку в начало строки темы в outlook, если эта строка еще не присутствует. Если строка уже присутствует, я не хочу ее менять:

Sub Addstring()
Dim myolApp As Outlook.Application
Dim aItem As Object

Set myolApp = CreateObject("Outlook.Application")
Set mail = myolApp.ActiveExplorer.CurrentFolder

Dim iItemsUpdated As Integer
Dim strTemp As String
Dim strFilenum As String

strname = InputBox("Enter the string to add to subject i.e John ")
iItemsUpdated = 0
For Each aItem In mail.Items
   If Left(LCase(olMail.Subject), 10) <> "(strname)" Then
    ' edit the subject
     strTemp = "[" & strFilenum & "] " & aItem.Subject
      aItem.Subject = strTemp
      iItemsUpdated = iItemsUpdated + 1
    aItem.Save
End If
Next aItem

MsgBox iItemsUpdated & " of " & mail.Items.Count & " Messages Updated"
Set myolApp = Nothing
End Sub

Ошибка:

error

1 Ответ

0 голосов
/ 27 апреля 2018

Вам необходимо исправить имя переменной. Он объявлен как aItem, но позже вы пытаетесь использовать объект olMail, который нигде не определен.

Sub Addstring()
  Dim myolApp As Outlook.Application
  Dim aItem As Object

  Set myolApp = CreateObject("Outlook.Application")
  Set mail = myolApp.ActiveExplorer.CurrentFolder

  Dim iItemsUpdated As Integer
  Dim strTemp As String
  Dim strFilenum As String

  strname = InputBox("Enter the string to add to subject i.e John ")
  iItemsUpdated = 0
  For Each aItem In mail.Items
    If Left(LCase(aItem.Subject), 10) <> "(strname)" Then
      ' edit the subject
      strTemp = "[" & strFilenum & "] " & aItem.Subject
      aItem.Subject = strTemp
      iItemsUpdated = iItemsUpdated + 1
      aItem.Save
    End If
  Next aItem

  MsgBox iItemsUpdated & " of " & mail.Items.Count & " Messages Updated"
  Set myolApp = Nothing
End Sub
...