Ошибка при вызове VisualReportsEdit () в проекте в MSProject из pywin32 - PullRequest
0 голосов
/ 18 июня 2020

Ошибка:

Traceback (most recent call last):
  File "C:/Users/ghailey/python/MicrosoftProjectExport/Main.py", line 17, in <module>
    main()
  File "C:/Users/ghailey/python/MicrosoftProjectExport/Main.py", line 11, in main
    GenerateResourceUsageReport.main(project_path)
  File "C:\Users\ghailey\python\MicrosoftProjectExport\GenerateResourceUsageReport.py", line 47, in main
    project.create_resource_usage_report()
  File "C:\Users\ghailey\python\MicrosoftProjectExport\GenerateResourceUsageReport.py", line 31, in create_resource_usage_report
    self.mpp.VisualReportsEdit(template_path)
  File "C:\Users\ghailey\AppData\Local\Temp\gen_py\3.8\A7107640-94DF-1068-855E-00DD01075445x0x4x9\_MSProject.py", line 3087, in VisualReportsEdit
    return self._oleobj_.InvokeTypes(2143, LCID, 1, (11, 0), ((12, 16), (3, 48)),strVisualReportTemplateFile
pywintypes.com_error: (-2147352567, 'Exception occurred.', (1004, 'Microsoft Project', 'An unexpected error occurred with the method.', 'C:\\Program Files\\Microsoft Office\\Root\\Office16\\VBAPJ.CHM\x00', 131072, 0), None)

Код:

    def create_resource_usage_report(self):
        templates = self.mpp.VisualReportTemplateList
        template_path = templates.Item(10).TemplatePath
        self.mpp.VisualReportsEdit(template_path)


def main(doc):
    project = MSProject()
    project.__init__()
    project.load(doc)
    project.create_resource_usage_report()


if __name__ == '__main__':
    main(project_path)

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

...