保存到两个位置

Saving to two locations

我在带有完整版 Windows 10 和 Office 365 的 Microsoft Surface pro 3 上安装了 Project 2016。

我遵循了 http://answers.microsoft.com/en-us/office/forum/office_2010-project/can-you-set-up-a-ms-project-file-to-automatically/68847860-3c47-49d5-a4a8-06124dd63196 的指示。它基于旧版本的 Project。

保存到第二个位置,但每次都崩溃,不保存原件

除了文件位置,我没有更改代码。我确实将 flag20 重命名为 yes(我需要做的就是重命名它吗?)

它在这一行崩溃

FileCloseEx Save:=pjDoNotSave, noauto:=True

这是程序:

Private Sub project_beforesave(ByVal pj As Project)
    Application.DisplayAlerts = False
    If ActiveProject.ProjectSummaryTask.Flag20 = False Then
        ActiveProject.ProjectSummaryTask.Flag20 = True
        ActiveProject.SaveAs Name:="c:\users\John\desktop\backuptest.mpp"
        FileCloseEx Save:=pjDoNotSave, noauto:=True 'Crashes here
    Else
        ActiveProject.ProjectSummaryTask.Flag20 = False
    End If
End Sub

我们在施工现场使用平板电脑,供主管更新 Project 中的工作计划。以前,所有文件都保存在服务器上,他将通过 VPN 访问它们。即使文件非常小,Project 通过 VPN 打开文件的速度也非常慢。即使有良好的 4g 连接或 wifi。

我一直在努力寻找一种方法,既能将文件保存在平板电脑上,又能在保存后立即与服务器同步。

更改线路:

FileCloseEx Save:=pjDoNotSave, noauto:=True

与:

prjApp.FileCloseEx pjDoNotSave, True

声明一个变量并将其设置为 New MsProject,Application

下面的代码适用于我在我的 PC 上完成的测试:

Private Sub Project_BeforeClose(ByVal pj As Project)

Dim prjApp          As MSProject.Application
Set prjApp = New MSProject.Application

Application.DisplayAlerts = False
If ActiveProject.ProjectSummaryTask.Flag20 = False Then
    ActiveProject.ProjectSummaryTask.Flag20 = True
    ActiveProject.SaveAs Name:="c:\users\John\desktop\backuptest.mpp"
    prjApp.FileCloseEx pjDoNotSave, True
Else
    ActiveProject.ProjectSummaryTask.Flag20 = False
End If

End Sub