2010-08-25 79 views
0

如何使用今天的日期挑出文件?VB源文件夹问题

我有文件夹中有日期和时间的文件,08-25-2010-123803654.xml,08-25-2010-123804441.xml,08-24-2010-123851240.xml等。

我想拉出今天entrys,当我把我的代码,它给了我一个错误。

我的代码是:

SourceFolder = “C:\ TEST(DateTime.Now.tostring( 'MM-DD-YYYY-*')”

林不知道林做错了

感谢

我的代码: 模块模块1

Private Property fs As Object 
Private Property BaseName As Object 
Private Property FullTargetPath As Object 

Sub Main() 


    Dim xlApp, xlWkb, SourceFolder, TargetFolder, file 
    xlApp = CreateObject("excel.application") 
    fs = CreateObject("Scripting.FileSystemObject") 
    Const xlNormal = 1 
    SourceFolder = "C:\TEST\" & DateTime.Now.ToString("MM-dd-yyyy") & "*" 
    TargetFolder = "C:\TEST\Excel" 

    'Hide Excel 
    xlApp.Visible = False 

    'Process each file in SourceFolder 
    For Each file In fs.GetFolder(SourceFolder).files 
     'Open file in SourceFolder 
     xlWkb = xlApp.Workbooks.Open(file) 
     'Get Filename 
     BaseName = fs.getbasename(file) 
     'Concatenate full path. Extension will be automatically added by Excel 
     FullTargetPath = TargetFolder & "\" & BaseName 
     'Save as XLS file into TargetFolder 
     xlWkb.SaveAs(FullTargetPath, xlNormal) 
     'Close the file after its done 
     xlWkb.close() 
    Next 

    xlWkb = Nothing 
    xlApp = Nothing 
    fs = Nothing 

    MsgBox("Finished. Bout time!") 


End Sub 

前端模块

回答

0

我要你的代码只是这部分转化为有希望把你在正确的轨道上:

Dim targetFolder As String = "C:\TEST\Excel" 

Dim sourceFolder As String = "C:\TEST" 

' Here is where we specify a pattern by which we will find files in ' 
' sourceFolder. ' 
Dim searchPattern As String = String.Format("{0:MM-dd-yyyy}*.xml", Date.Today) 

' This will give us an array with only those files matching the pattern above; ' 
' that is, only files from today. ' 
Dim todaysFiles() As String = Directory.GetFiles(sourceFolder, searchPattern) 

For Each file As String In todaysFiles 
    ' Excel stuff... ' 

    Dim fileName As String = Path.GetFileNameWithoutExtension(file) 

    ' Concatenate full path. Extension will be automatically added by Excel. ' 
    Dim fullTargetPath = Path.Combine(targetFolder, fileName) 

    ' More Excel stuff... ' 
Next 
+0

所以后来sourcefolder应该阅读, > SourceFolder = directory > TargetFolder =“C:\ TEST \ Excel” searchpattern如何发挥作用? – GabrielVa 2010-08-25 19:35:13

+0

@gabrielVa:看看我的更新是否能帮助你多一点。 – 2010-08-25 19:57:23

+0

是的,这似乎有帮助很多,我现在明白了,虽然我得到一个新的错误,我创建了一个私人函数的目录(),当我现在运行控制台应用程序它说以下内容:System.NotImplementedException未处理 消息=该方法或操作未实现。 Source = ConsoleApplication3 – GabrielVa 2010-08-26 11:26:05

0

您发布不今天的日期实际上追加到基本路径的代码,它创建了一个静态字符串。难道你的意思是:

SourceFolder = "C:\TEST\" & DateTime.Now.ToString("MM-dd-yyyy") & "*" 
+0

嘿大卫, 我想,但我保持在以下收到错误: 每个文件在fs.GetFolder(sourceFolder).files 错误是:从HRESULT异常:0x800A004C(CTL_E_PATHNOTFOUND) – GabrielVa 2010-08-25 19:29:17