как автоматически запустить макрос Outlook?

Я разработал макрос outlook и хочу, чтобы этот макрос запускался автоматически без каких-либо подсказок или сообщений от пользователя, включен ли outlook или нет.

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
 bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12
Private Const SW_SHOWMAXIMIZED = 3
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_MAXIMIZE = 3
Private Const SW_MINIMIZE = 6
Private Const SW_NORMAL = 1
Private Sub Application_Reminder(ByVal Item As Object)

If TypeName(Item) = "TaskItem" Then
    Dim myItem As TaskItem
    Set myItem = Item
    If myItem.Subject = "run macro Mail_workbook_Outlook_1" Then

        Call Mail_workbook_Outlook_1   '...your macro name here

    End If
End If
End Sub
Sub Mail_workbook_Outlook_1()
    ChDrive ("D:")
    ChDir ("D:EclipseWorkspacesstrutsSonarsrcreport")

    'Shell ("cmd.exe /S /K" & "java D:EclipseWorkspacesstrutsSonarsrcreportOpenBrowser")

    'Const exeCmd = "java OpenBrowser"
    'Shell ("java OpenBrowser")

    Dim sdkCommand As String

    sdkCommand = "java Orange "
    Shell ("cmd.exe /c" & sdkCommand)

    Dim OutApp As Object
    Dim OutMail As Object

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    On Error Resume Next
    With OutMail
        .To = "check"
        .CC = ""
        .BCC = ""
        .Subject = "Orange "
        .Body = "Hi all " _
                & "PFB the status of Sonar report for Trunk"
        .Attachments.Add ActiveWorkbook.FullName
        'You can add other files also like this
        .Attachments.Add ("d:Orange .jpg")
        .HTMLBody = .HTMLBody & "<br>Orange REPORT:<br>" _
                & "<br><img src='d:Orange .jpg'" & "width='900' height='600'><br>" _
                & "Orange .<br>" _
                & "google.com" _
                & "<br>Regards,<br>Gaurav</font></span>"
        .Send   'or use .Display
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing

End Sub
7
задан Sathya
20.01.2023 21:48 Количество просмотров материала 3604
Распечатать страницу

2 ответа

можно использовать /autorun переключатель:

outlook.exe /autorun <macroname>

например, создайте следующее в Редакторе Visual Basic (Alt+F11):

Sub Hello()
    MsgBox "Hello World!"
End Sub

создать ярлык на рабочем столе, который имеет целью:

"C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE"  /autorun hello

двойной клик по ярлыку и вы увидите сообщение при запуске Outlook.

обратите внимание, что путь к outlook.exe может варьироваться в зависимости от вашей версии и установка.


вы также можете определить Application_Startup макрос, который должен запускаться при каждом запуске Outlook:

Private Sub Application_Startup() 

    MsgBox "Welcome, " & Application.GetNamespace("MAPI").CurrentUser 

    Application.ActiveExplorer.WindowState = olMaximized 

End Sub

выше из Microsoft Developer Reference site.

вы можете настроить параметры безопасности для этой работы:

File -> Options -> Trust Center -> Trust Center Settings -> Macro Settings -> Enable All

обратите внимание, что у меня нет Outlook 2010, чтобы подтвердить выше: -)

1
отвечен garethTheRed 2023-01-22 05:36

Это невозможно. Невозможно запустить макрос outlook без запуска outlook так же, как нельзя воспроизвести компакт-диск без проигрывателя компакт-дисков.

0
отвечен LPChip 2023-01-22 07:53

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх