none
MS Project Pro 2016 Ошибка импорта через скрипт VBA RRS feed

  • Вопрос

  • Всем доброго времени суток!

    Очень прошу помощи!

    Пытаюсь перенести проекты с одного PWA на другой посредством экспорта-импорта в XML через VBA скрипты используя MS Project Professional 2016

    Для импорта в новый PWA использую вот такой код

    Sub ImportProjects()
        Dim T As Task
        Dim fName As String
        For Each T In ActiveProject.Tasks
            fName = T.Name
            Application.FileOpenEx Name:="C:\Exports\" & fName & ".mpp", ReadOnly:=False, FormatID:="MSProject.MPP"
            Application.FileSaveAs Name:="<>\" & fName, FormatID:=""
            Application.FileCloseEx pjSave, True, False
        Next T
    End Sub

    Всё взял вот здесь.

    И вот при запуске кода скрипта импорта возникает ошибка:

    Compile error:

    Method or data member not found

    И больше ничего и без подробностей.

    Весь мозг сломал что может быть не так, но вообще не представляю в чём же ошибка.

    Помогите, пожалуйста.

    UPDATE:

    Ради интереса запустил код на двух других компах и получил новые две ошибки:

    На одном ошибка

    Runtime error '424'

    Object required

    А на другом

    Runtime error '1004'

    Application-defined or object-defined error

    Куда же копать? И от чего же зависят эти ошибки?


    MCSA: Security; MCTP: Microsoft ISA 2006



    29 марта 2020 г. 19:08

Ответы

  • Всех приветствую!

    В общем, решение найдено.

    Мой коллега немного изменил скрипт, теперь он выглядит вот так:

    Sub ImportProjects()
       
        Dim T As Tasks
        Dim fName As String
        Dim i As Long
        
        Set T = ActiveProject.Tasks
        For i = 1 To T.Count
            fName = T(i).Name
            Application.FileOpenEx Name:="C:\Exports\" & Trim(fName) & ".xml", ReadOnly:=False, FormatID:="MSProject.MPP"
            ActiveProject.SaveAs "<>\" & fName, pjMPP
            Publish Republish:=Null, WSSURL:=""
            Application.FileCloseEx pjSave
           
        Next i
       
    End Sub

    Есть мнение, что предыдущая версия скрипта была актуальна для старых версий Project Pro (2007-2013), а в новых (2016-2019) c обновлённым VBA это уже не работает.


    MCSA: Security; MCTP: Microsoft ISA 2006

    • Помечено в качестве ответа Andrey Kucherovsky 2 апреля 2020 г. 9:14
    2 апреля 2020 г. 9:13