在Project 2016中彈出狀態日期表單的VBA代碼是什麼?就像點擊功能區上的按鈕一樣。我希望代碼彈出狀態日期,然後繼續運行宏。通過VBA彈出項目狀態日期表格
2
A
回答
1
Dim NewStatusDate
NewStatusDate = InputBox("Please enter a new Status Date value")
If NewStatusDate <> "" Then ' Check it's not empty
ThisProject.StatusDate = NewStatusDate
End If
你可能想驗證給定的值是一個日期,你可能需要的任何其他東西,但此時會彈出一個輸入框,並允許您更改項目的狀態日期。
+0
謝謝,但我只想簡單些。我不能只彈出實際的表單嗎?就像我點擊按鈕一樣。 – peetman
0
找到了我需要的答案。
ActiveProject.CommandBars.ExecuteMso ("StatusDate")
1
雖然你可以彈出項目信息選項卡這一行:Application.ProjectSummaryInfo
,你沒有任何驗證狀態日期的能力。沒有什麼可以阻止用戶在沒有輸入日期的情況下單擊「確定」或「取消」。
最好調用這樣的函數,以便知道輸入了有效的狀態日期。
Private Sub GetStatusDate()
Dim CurStatusDate As Variant
CurStatusDate = ActiveProject.StatusDate
' set a default, suggested status date
Dim SuggestedDate As Date
SuggestedDate = Date
Dim StatusDate As Date
If VarType(CurStatusDate) = vbDate And CDate(CurStatusDate) >= SuggestedDate Then
StatusDate = CDate(CurStatusDate)
Else
Dim Msg As String
Msg = vbCrLf & "Suggested status date:" & vbTab & SuggestedDate
If VarType(CurStatusDate) = vbDate Then
Msg = "Current status date:" & vbTab & Format(CurStatusDate, "m/d/yyyy") & Msg
Else
Msg = "Current status date:" & vbTab & Format(CurStatusDate, "m/d/yyyy") & Msg
End If
Dim NewDate As String
NewDate = InputBox(Msg, "Enter the project status date", SuggestedDate)
If Len(NewDate) = 0 Then
StatusDate = SuggestedDate
ElseIf Not IsDate(NewDate) Then
StatusDate = SuggestedDate
Msg = "Your entry of " & NewDate & " was not recognized as a valid date." & _
vbCrLf & StatusDate & " will be used as the status date."
MsgBox Msg, vbOKOnly + vbCritical, "Invalid entry"
Else
StatusDate = CDate(NewDate)
End If
ActiveProject.StatusDate = StatusDate
End If
End Sub
相關問題
- 1. 通過彈出窗口填寫表格
- 2. 過濾項目狀態
- 3. 彈出通過列表項目之間的數據視圖
- 4. VBA日期格式
- 5. VBA日期格式
- 6. android狀態欄沒有通知彈出
- 7. 按日期過濾Twitter狀態(通過API)
- 8. 彈出式動態日期驗證
- 9. 彈出一個瀏覽時點擊狀態欄項目
- 10. UI Bootstrap Datepicker彈出日期格式
- 11. 查詢表通過選擇不同的項目給出日期戳
- 12. 通過關聯表格選擇項目
- 13. 通過VBA更改日期格式爲SQL查詢
- 14. 日期顯示和日期格式VBA
- 15. 格式日期VARIABLE到短日期VBA
- 16. Asana API檢索項目所有者,狀態和截止日期
- 17. 從單元格引用導出的vba日期過濾條件
- 18. Excel VBA - 通過列表和彈出消息搜索
- 19. ListView項目的模態彈出框
- 20. 模型彈出狀態
- 21. 彈出Excel狀態欄?
- 22. 通過網址發送日期欄,過濾項目
- 23. 通過SendKeys保護excel VBA項目
- 24. 通過VBA計算LotusNote項目
- 25. vba中的日期格式
- 26. 日期格式Excel VBA
- 27. textbox日期格式excel vba
- 28. 更改日期格式VBA
- 29. 通過Python導出CSV格式的標題和日期格式
- 30. 兩個模態彈出;通過ID
你的意思是像使用'MsgBox'? – Dave
是的。就像我點擊功能區上的按鈕一樣。 – peetman
你有沒有嘗試過簡單的東西,比如'MsgBox ThisProject.StatusDate'? – Dave