Форум » Программирование в Autodesk Inventor|VBA, iPart, iFeature » Создание DWF и прикрепление к письму в MS Office Outlook » Ответить

Создание DWF и прикрепление к письму в MS Office Outlook

Ab: Недавно автоматизировал небольшую задачку по автоматическому созданию DWF из текущего документа и прикрепления к новому письму в MS Office Outlook для последующей отправки. Sub DWF_and_Mail() 'Set a reference to the AddIns collection Dim AddIns As ApplicationAddIns Set AddIns = ThisApplication.ApplicationAddIns 'Get the DWF translator AddIn Dim DWFAddIn As TranslatorAddIn Dim i As Integer For i = 1 To AddIns.Count If AddIns(i).AddInType = kTranslationApplicationAddIn Then If AddIns(i).ClassIdString = "{0AC6FD95-2F4D-42CE-8BE0-8AEA580399E4}" Then Set DWFAddIn = AddIns.Item(i) Exit For End If End If Next i 'Set a reference to the active document (the document to be published). Dim oDocument As Document Set oDocument = ThisApplication.ActiveDocument Dim oContext As TranslationContext Set oContext = ThisApplication.TransientObjects.CreateTranslationContext oContext.Type = kFileBrowseIOMechanism ' Create a NameValueMap object Dim oOptions As NameValueMap Set oOptions = ThisApplication.TransientObjects.CreateNameValueMap ' Create a DataMedium object Dim oDataMedium As DataMedium Set oDataMedium = ThisApplication.TransientObjects.CreateDataMedium ' Check whether the translator has 'SaveCopyAs' options If DWFAddIn.HasSaveCopyAsOptions(oDataMedium, oContext, oOptions) Then oOptions.Value("Launch_Viewer") = 1 oOptions.Value("Publish_Component_Props") = 1 oOptions.Value("Publish_Mass_Props") = 1 oOptions.Value("Publish_All_Sheets") = 1 End If 'Set the destination file name oDataMedium.FileName = "c:\temp\test.dwf" 'Publish document. Call DWFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium) 'Setting parameter string for Outlook execute Dim param As String param = "/c ipm.note /a """ & oDataMedium.FileName & """" Dim folder As String Call ShellExecute(0, "open", "outlook.exe", param, folder, 3) End Sub В самое начало модуля, где будет находиться вышеприведенная функция, поместите: Public Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long В данном макросе можно настроить формат имени файла (переменная oDataMedium.FileName), а также строку запуска MS Outlook).

Ответов - 1

Ab: Параметры и ключи командной строки запуска Outlook: http://www.potolook.ru/article/outlook/outlook-command-line.html И вообще - очень информативный сайт по Outlook.



полная версия страницы