0
錯誤消息:System.InvalidCastException:從字符串「」轉換爲「Date」類型無效。System.InvalidCastException:從字符串「」轉換爲「Date」類型無效
Sub Main()
Dim OutApp As Object
Dim OutMail As Object
Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
Dim fecha As String
Dim proc As System.Diagnostics.Process
For Each proc In System.Diagnostics.Process.GetProcessesByName("EXCEL")
If proc.MainWindowTitle.Trim.Length = 0 Then
proc.Kill()
End If
Next
xlApp = New Excel.ApplicationClass
xlWorkBook = xlApp.Workbooks.Open("\\file.xlsm")
xlWorkSheet = xlWorkBook.Worksheets("Sheet")
Try
xlApp.Range("E41").Activate()
xlApp.Range("E4").Select()
xlWorkSheet.Range("E4").Select()
xlWorkSheet.Range("E4").Activate()
fecha = xlApp.ActiveCell.Value
Do While xlApp.ActiveCell.Value <> ""
'If (DateTime.Today - CDate(fecha)).Days = 180 Then
If (DateTime.Today - DateTime.ParseExact(fecha, "dd/mm/yyyy", CultureInfo.InvariantCulture)).Days = 180 Then
' --more lines ---
'...
End Sub
得到錯誤在這行:
Do While xlApp.ActiveCell.Value <> ""
出於某種原因,它似乎xlApp.ActiveCell.Value被視爲日期,而不是字符串。
另一件事,這是比較今天和細胞值之間是否有6個月差異的正確方法嗎?
If (DateTime.Today - DateTime.ParseExact(fecha, "dd/mm/yyyy", CultureInfo.InvariantCulture)).Days = 180
嘗試xlApp.ActiveCell.Text – Steve