2016-10-10 76 views
3

我試圖創建一個宏,以應用程序打開時以設定的時間間隔將特定格式的ms-project文件保存到給定的位置。我主要工作,除了間隔部分執行。以毫秒項目的時間間隔執行宏

我已經有了一點谷歌周圍,當使用Excel或Word時,您可以使用Application.OnTime方法&時間偏移量以所需的間隔調用子。不幸的是,它看起來不像MS-Project中存在的這種方法。

有沒有其他方法可以在這裏使用還是應該放棄這個想法?

+0

不能使用某種事件嗎?我假設你只想在發生特定操作後保存文件 – Jbjstam

+0

好了,這個想法是(有點)定期保存文件,以便它可以用作另一個應用程序的數據源 - 這是一個大的項目文件,它是通常全天開放並以不規則的間隔編輯。鑑於保存操作與事件綁定的密集程度非常高,那麼它需要是不太可能經常觸發的事情。我不知道vba/project是否知道從哪裏開始。無論如何,我已經放棄了這個想法 - 但謝謝你的回覆。 – JMP

+0

https://msdn.microsoft.com/en-us/library/office/dn254092.aspx有你的選擇:) – Jbjstam

回答

0

我意識到這是一個遲到的答案,但我有一個解決方案,我用於類似的問題。只需跳過Project_Change事件,因爲它經常運行,並與變量進行比較。

Public lastSave As Date 


Private Sub Project_Change(ByVal pj As Project) 


    If DateDiff("n", lastSave, Now()) > 1 Then ' Replace 1 with # of minutes between saves. 
     Application.FileSave 
     lastSave = Now() 

    End If 

End Sub 
+0

這確實看起來像它適合賬單。在這一點上,我已經很好地轉向其他想法,但謝謝! – JMP