Převod maker do Office 2007

Při převodu maker z Outlooku 2003 do Outlooku 2007 jsem použil prosté překopírování VBAproject.OTM. Ovšem nic nešlo spustit, s tím, že makra jsou zakázána (přičemž v Centru zabezpečení povolena byla!).

Hrál jsem si a  zkoumal a na nic jsem nepřišel. A tak nakonec nezbylo než použít jednoduchou metodu – vyexportovat všechny moduly a pak je naimportovat do původního VBAproject.OTM …

Po hledání na netu jsem přišel ještě na jeden způsob:

  • v projectu (který vám hlásí, že makra jsou zakázána) si otevřete ThisOutlookSession
  • nakopírujte do uvedeného modulu tento kód:Sub DisableAllRules()
    Dim colRules As Outlook.Rules
    Dim oRule As Outlook.Rule
    Dim count As Integer
    Dim ruleList As String
    'On Error Resume Next
    'Get Rules from Session.DefaultStore object
    Set colRules = Application.Session.DefaultStore.GetRules
    ' iterate all the rules
    For Each oRule In colRules
    oRule.Enabled = False
    count = count + 1
    ruleList = ruleList & vbCrLf & count & ". " & oRule.Name
    Next
    colRules.Save
    ' tell the user what you did
    ruleList = "These rules were enabled: " & vbCrLf & ruleList
    MsgBox ruleList, vbInformation, "Macro: DisableAllRules"
    Set colRules = Nothing
    Set oRule = Nothing
    End Sub
    Sub Enable_Run_AllRules()
    Dim colRules As Outlook.Rules
    Dim oRule As Outlook.Rule
    Dim count As Integer
    Dim ruleList As String
    'On Error Resume Next
    'Get Rules from Session.DefaultStore object
    Set colRules = Application.Session.DefaultStore.GetRules
    ' iterate all the rules
    For Each oRule In colRules
    oRule.Enabled = True
    oRule.Execute ShowProgress:=True
    count = count + 1
    ruleList = ruleList & vbCrLf & count & ". " & oRule.Name
    Next
    colRules.Save
    ' tell the user what you did
    ruleList = "These rules were enabled: " & vbCrLf & ruleList
    MsgBox ruleList, vbInformation, "Macro: EnableAllRules"
    Set colRules = Nothing
    Set oRule = Nothing
    End Sub
  • Objeví se message box s hlášením o resetování projektu a najednou vám to začne chodit…

Ale stačí, když do tohoto modulu dáte jakýkoliv kód. Dojde totiž k resetování projektu – a to je to co potřebujeme.

Posted by Igor Pechanec Wednesday, March 11, 2009 6:20:00 PM Categories: Tipy, rady, příklady
Igor Pechanec © 2016-2017, all rights reserved