【问题标题】:Saving to two locations保存到两个位置
【发布时间】:2021-03-25 21:46:05
【问题描述】:

我在装有完整版 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 访问它们。即使文件非常小,项目也通过 VPN 非常缓慢地打开文件。即使有良好的 4g 连接或 wifi。

我一直在尝试找到一种方法将文件保留在平板电脑上,但在保存后立即与服务器同步。

【问题讨论】:

  • 在下面查看我的答案

标签: vba windows-10 synchronization ms-project


【解决方案1】:

换行:

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

【讨论】:

  • 太棒了!看起来这运作良好。对于任何需要做同样事情的人......唯一的问题是跨VPN保存非常依赖连接。信号不好时,它会坐在那里并保存一段时间。信号很好,只需几秒钟。
  • 好吧,现在我们遇到的问题是他们在搞砸了一些东西并假设它没有保存后关闭文件,因为没有点击保存。它没有保存在他们的平板电脑上,但确实保存到了我们的服务器上。将其作为 BeforeClose 事件是问题所在。如果我们可以使它成为一个正常运行的 BeforeSave 事件,我应该可以正常工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-13
  • 2013-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多