簡體   English   中英

從VB.Net將日期驗證應用於Excel單元格

[英]Applying date validation to Excel cell from VB.Net

我正在將日期驗證應用於VB.NET中的excel單元格(范圍)。

 Private Sub DateValidExcelRule(ByVal worksheet As SpreadsheetGear.IWorksheet, ByVal DateRange As String)

    Dim dt As Date = CDate("1/1/1900")
    worksheet.Range(DateRange).Validation.Delete()
    worksheet.Range(DateRange).Validation.Add(ValidationType.Date, ValidationAlertStyle.Stop, ValidationOperator.Greater, dt, Nothing)
    worksheet.Range(DateRange).NumberFormat = "mm/dd/yyyy"
    worksheet.Range(DateRange).Validation.IgnoreBlank = True
    worksheet.Range(DateRange).Validation.InputTitle = "Excel Validation"
    worksheet.Range(DateRange).Validation.ErrorTitle = "Error in Date"
    worksheet.Range(DateRange).Validation.InputMessage = "Note: only date values here"
    worksheet.Range(DateRange).Validation.ErrorMessage = "Enter valid Date"
    worksheet.Range(DateRange).Validation.ShowInputMessage = True
    worksheet.Range(DateRange).Validation.ShowError = True

End Sub

問題:

當我輸入4位整數7777它正在正確驗證並顯示消息Enter Valid Date ,但是當我輸入5位數字77777它正在接受該值並將其轉換為12/10/2112值,並且未顯示任何錯誤消息。

在這里,我要做的就是將單元格值驗證為任何日期格式mm/dd/yyyy

請讓我知道,我走的路正確嗎?

Excel將日期存儲為序列日期(自1/0/1900以來的天數),因此,如果您花費77777天並將其添加到該日期,則它將獲得一個有效日期。 12/10/2112

我不確定如何甚至可以完全完成您想要在excel中以特定格式強制輸入的內容。 (不使用日期控件)但這至少是原因。

這是我發現對Excel中日期/時間有用的幾個鏈接。

http://www.cpearson.com/excel/datetime.htm

http://dmcritchie.mvps.org/excel/datetime.htm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM