我有一台带有完整版Windows 10和office 365的Microsoft Surface pro 3.我已按照此链接中的说明进行操作
但我似乎无法让它正常工作。也许是因为他是基于旧版本的项目。它保存到第二个位置,但每次都崩溃并且不保存原始副本。除了文件位置,我没有更改代码。我把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
点击链接查看原始代码。
想法?我做错了吗?
这就是我要做的事情。我们在施工现场使用此平板电脑,以便管理者更新项目中的作业计划。之前,我们将所有文件保存到服务器,然后通过VPN访问它们。这有效,但速度很慢。出于某种原因......即使文件非常小,项目也会在VPN上打开文件非常慢。即使有良好的4g连接或wifi。所以我一直试图找到一种方法来保存平板电脑上的文件,但在保存时立即与服务器同步。这种方式似乎是最好的方式,只要我能让它发挥作用。救命!大声笑。我的编程知识非常有限......我在大学里有1个C ++课程。但我在这里学习!提前谢谢。
答案 0 :(得分:0)
改变你的行:
FileCloseEx Save:=pjDoNotSave, noauto:=True
使用:
prjApp.FileCloseEx pjDoNotSave, True
声明变量后,设置为New MsProject,Application
以下代码适用于我在电脑上完成的测试:
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