以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66804)

--  作者:发财
--  发布时间:2015/4/14 10:15:00
--  代码
isDate(Sheet1(1,0).Value) = true 
如果:sheet1(1,0).value = 2015年3月,上述代码不能成立。

--  作者:发财
--  发布时间:2015/4/14 10:16:00
--  
应如何改?
--  作者:Bin
--  发布时间:2015/4/14 10:22:00
--  
Dim str As String ="2015年3月"
If System.Text.RegularExpressions.Regex.IsMatch(str,"^(\\d{4})年(\\d{1,2})月$") Then
   MessageBox.show("是日期")
Else
   MessageBox.show("不是日期")
End If

--  作者:jswjyjf
--  发布时间:2015/4/14 13:22:00
--  

上面的语法 帮助里哪个部分有


--  作者:Bin
--  发布时间:2015/4/14 13:34:00
--  
不是帮助的知识, 你用就可以了.该知识可以独立买一本10厘米厚的书.   叫做  正则表达式   
--  作者:发财
--  发布时间:2015/4/15 10:17:00
--  
For Each file As String In filesys .GetFiles(ProjectPath & "报表1")
    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then
        Dim Book1 As New XLS.Book(file)
        Dim Sheet1 As XLS.Sheet = Book1.Sheets("分户快报")
        Dim Sheet2 As XLS.Sheet = Book1.Sheets("资产负债表")
        Dim Sheet3 As XLS.Sheet = Book1.Sheets("利润及分配表")
        Dim Sheet4 As XLS.Sheet = Book1.Sheets("费用表")
        Dim Sheet5 As XLS.Sheet = Book1.Sheets("工资月报")
        Dim Sheet6 As XLS.Sheet = Book1.Sheets("附列资料")
        Dim s As String = sheet1(2,1).value
        Dim d1 As Date = sheet1(1,1).value
        Dim d2 As Date = sheet1(1,0).value
        Dim d3 As Date = sheet1(1,0).value
        Dim d4 As Date = sheet1(1,1).value
        Dim d5 As Date = sheet1(1,4).value
        Dim d6 As Date = sheet1(1,9).value
        If s.Substring(0,4) = "编制单位" AndAlso s = sheet2(3,0).value AndAlso s = sheet3(2,0).value AndAlso s = sheet4(2,0).value AndAlso s = sheet5(1,0).value AndAlso s = sheet6(1,0).value Then
            Dim r As Row = Tables("审核").AddNew()
            r("单位") =  FileSys.GetName(file)
            r("报表名") = sheet1.name
        Else
            If isDate(d1) = False OrElse d1.year <> vars("cc").year OrElse d1.month <> vars("cc").month Then
                Dim r As Row = Tables("审核").AddNew()
                r("单位") =  FileSys.GetName(file)
                r("报表名") = sheet1.name
            Else If isDate(d2) = False OrElse d2.year <> vars("cc").year OrElse d2.month <> vars("cc").month Then
                Dim r As Row = Tables("审核").AddNew()
                r("单位") =  FileSys.GetName(file)
                r("报表名") = sheet2.name
            Else If isDate(d3) = False OrElse d3.year <> vars("cc").year OrElse d3.month <> vars("cc").month Then
                Dim r As Row = Tables("审核").AddNew()
                r("单位") =  FileSys.GetName(file)
                r("报表名") = sheet3.name
            Else If isDate(d4) = False OrElse d4.year <> vars("cc").year OrElse d4.month <> vars("cc").month Then
                Dim r As Row = Tables("审核").AddNew()
                r("单位") =  FileSys.GetName(file)
                r("报表名") = sheet4.name
            Else If isDate(d5) = False OrElse d5.year <> vars("cc").year OrElse d5.month <> vars("cc").month Then
                Dim r As Row = Tables("审核").AddNew()
                r("单位") =  FileSys.GetName(file)
                r("报表名") = sheet5.name
            Else If isDate(d6) = False OrElse d6.year <> vars("cc").year OrElse d6.month <> vars("cc").month Then
                Dim r As Row = Tables("审核").AddNew()
                r("单位") =  FileSys.GetName(file)
                r("报表名") = sheet6.name
            End If
        End If
    End If
Next

--  作者:发财
--  发布时间:2015/4/15 10:18:00
--  
上述代码应如何修改才可简洁些?
--  作者:Bin
--  发布时间:2015/4/15 10:28:00
--  
判断没办法简洁 到哪里去.
--  作者:发财
--  发布时间:2015/4/15 11:11:00
--  
s1 = sheet(1,1).value
If s1.Isstring  Then
为什么不能判断?

--  作者:Bin
--  发布时间:2015/4/15 11:19:00
--  
string 不用判断啊.所有类型都可以当字符串使用

直接用就好了.