Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Dear All,
The macro below opens a number of text file with *.mea extension, doe some calculation (average and std deviation). What I would like to d is save the file with *.xls extension after calculation is done. I' sure it will be adding a 1 or more lines of code. Hope anyone ca help. Regards, Bharesh Mandalia Sub BatchProcessor() With Application.FileSearch .NewSearch .LookIn = "d:\activeb\" '(insert proper file directory) .SearchSubFolders = True .FileName = "ms1*.mea" .MatchTextExactly = True .FileType = msoFileTypeAllFiles If .Execute() 0 Then ' MsgBox "There were " & .FoundFiles.Count & "file(s) found." For I = 1 To .FoundFiles.Count Workbooks.Open FileName:=.FoundFiles(I) With ActiveWorkbook Columns("A:A").EntireColumn.AutoFit Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1") DataType:=xlFixedWidth, _ FieldInfo:=Array(Array(0, 1), Array(16, 1)) Selection.AutoFilter Range("B1").Select Selection.AutoFilter Field:=1, Criteria1:="Dist" Range("B2:B65536").Select Selection.NumberFormat = "0.0000" Selection.NumberFormat = "0.000" Selection.Copy Range("D1").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.AutoFilter Field:=1 Range("E1").Select ActiveCell.FormulaR1C1 = "=AVERAGE(C[-1])" Range("F1").Select ActiveCell.FormulaR1C1 = "=COUNT(C[-2])" Range("F2").Select End With Next I Else MsgBox "There were no files found" End If End Wit -- Message posted from http://www.ExcelForum.com |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() Add this line after End With, before Next I ActiveWorkbook.SaveAs Filename:="D:\"& .FoundFiles(I) &".xls" and adjust path to your liking Mike F "m4nd4li4 " wrote in message ... Dear All, The macro below opens a number of text file with *.mea extension, does some calculation (average and std deviation). What I would like to do is save the file with *.xls extension after calculation is done. I'm sure it will be adding a 1 or more lines of code. Hope anyone can help. Regards, Bharesh Mandalia Sub BatchProcessor() With Application.FileSearch NewSearch LookIn = "d:\activeb\" '(insert proper file directory) SearchSubFolders = True FileName = "ms1*.mea" MatchTextExactly = True FileType = msoFileTypeAllFiles If .Execute() 0 Then ' MsgBox "There were " & .FoundFiles.Count & "file(s) found." For I = 1 To .FoundFiles.Count Workbooks.Open FileName:=.FoundFiles(I) With ActiveWorkbook Columns("A:A").EntireColumn.AutoFit Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _ FieldInfo:=Array(Array(0, 1), Array(16, 1)) Selection.AutoFilter Range("B1").Select Selection.AutoFilter Field:=1, Criteria1:="Dist" Range("B2:B65536").Select Selection.NumberFormat = "0.0000" Selection.NumberFormat = "0.000" Selection.Copy Range("D1").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.AutoFilter Field:=1 Range("E1").Select ActiveCell.FormulaR1C1 = "=AVERAGE(C[-1])" Range("F1").Select ActiveCell.FormulaR1C1 = "=COUNT(C[-2])" Range("F2").Select End With Next I Else MsgBox "There were no files found" End If End With --- Message posted from http://www.ExcelForum.com/ |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Mike,
Unfortunately I get an Runtime Error 1004. File could not be accessed Please try, etc, etc.... The error occurs here.... ActiveWorkbook.SaveAs FileName:="D:\inactiveb\" & .FoundFiles(I) ".xls" I have tried different paths to save the file to, but always the sam error. Any suggestions???? Regards, Bhares -- Message posted from http://www.ExcelForum.com |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
..foundfiles(i) will have the path and extension in it.
So if you're saving to a different folder, you'll have to get rid of that path as well as the extension. But it looks like you want to save to the same folder. so maybe: If .Execute() 0 Then ' MsgBox "There were " & .FoundFiles.Count & "file(s) found." For i = 1 To .FoundFiles.Count Workbooks.Open Filename:=.FoundFiles(i) 'your code here... myFileName = Left(.FoundFiles(i), Len(.FoundFiles(i)) - 4) & ".xls" ActiveWorkbook.SaveAs Filename:=myFileName, _ FileFormat:=xlWorkbookNormal Next i End If If you want to strip out the path, too: Option Explicit Sub BatchProcessor() Dim myFileName As String Dim myPath As String Dim i As Long With Application.FileSearch .NewSearch .LookIn = "C:\my documents\excel\" .SearchSubFolders = True .Filename = "ms1*.mea" .MatchTextExactly = True .FileType = msoFileTypeAllFiles If .Execute() 0 Then ' MsgBox "There were " & .FoundFiles.Count & "file(s) found." For i = 1 To .FoundFiles.Count Workbooks.Open Filename:=.FoundFiles(i) myPath = ActiveWorkbook.Path & "\" myFileName = Left(.FoundFiles(i), Len(.FoundFiles(i)) - 4) & ".xls" myFileName = Mid(myFileName, Len(myPath) + 1) myFileName = "c:\mynewpath\" & myFileName ActiveWorkbook.SaveAs Filename:=myFileName, _ FileFormat:=xlWorkbookNormal Next i End If End With End Sub Watch out, I changed the path for my testing! "m4nd4li4 <" wrote: Hi Mike, Unfortunately I get an Runtime Error 1004. File could not be accessed. Please try, etc, etc.... The error occurs here.... ActiveWorkbook.SaveAs FileName:="D:\inactiveb\" & .FoundFiles(I) & ".xls" I have tried different paths to save the file to, but always the same error. Any suggestions???? Regards, Bharesh --- Message posted from http://www.ExcelForum.com/ -- Dave Peterson |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi dave,
Many thanks for suggestion. It works great but the size of the file is about 2MB! How come??? Shouldn't it be a lot smaller than 2MB??? Regards, Bharesh Dave Peterson wrote in message ... .foundfiles(i) will have the path and extension in it. So if you're saving to a different folder, you'll have to get rid of that path as well as the extension. But it looks like you want to save to the same folder. so maybe: If .Execute() 0 Then ' MsgBox "There were " & .FoundFiles.Count & "file(s) found." For i = 1 To .FoundFiles.Count Workbooks.Open Filename:=.FoundFiles(i) 'your code here... myFileName = Left(.FoundFiles(i), Len(.FoundFiles(i)) - 4) & ".xls" ActiveWorkbook.SaveAs Filename:=myFileName, _ FileFormat:=xlWorkbookNormal Next i End If If you want to strip out the path, too: Option Explicit Sub BatchProcessor() Dim myFileName As String Dim myPath As String Dim i As Long With Application.FileSearch .NewSearch .LookIn = "C:\my documents\excel\" .SearchSubFolders = True .Filename = "ms1*.mea" .MatchTextExactly = True .FileType = msoFileTypeAllFiles If .Execute() 0 Then ' MsgBox "There were " & .FoundFiles.Count & "file(s) found." For i = 1 To .FoundFiles.Count Workbooks.Open Filename:=.FoundFiles(i) myPath = ActiveWorkbook.Path & "\" myFileName = Left(.FoundFiles(i), Len(.FoundFiles(i)) - 4) & ".xls" myFileName = Mid(myFileName, Len(myPath) + 1) myFileName = "c:\mynewpath\" & myFileName ActiveWorkbook.SaveAs Filename:=myFileName, _ FileFormat:=xlWorkbookNormal Next i End If End With End Sub Watch out, I changed the path for my testing! "m4nd4li4 <" wrote: Hi Mike, Unfortunately I get an Runtime Error 1004. File could not be accessed. Please try, etc, etc.... The error occurs here.... ActiveWorkbook.SaveAs FileName:="D:\inactiveb\" & .FoundFiles(I) & ".xls" I have tried different paths to save the file to, but always the same error. Any suggestions???? Regards, Bharesh --- Message posted from http://www.ExcelForum.com/ |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi dave,
Many thanks for suggestion. It works great but the size of the file is about 2MB! How come??? Shouldn't it be a lot smaller than 2MB??? Regards, Bharesh Dave Peterson wrote in message ... .foundfiles(i) will have the path and extension in it. So if you're saving to a different folder, you'll have to get rid of that path as well as the extension. But it looks like you want to save to the same folder. so maybe: If .Execute() 0 Then ' MsgBox "There were " & .FoundFiles.Count & "file(s) found." For i = 1 To .FoundFiles.Count Workbooks.Open Filename:=.FoundFiles(i) 'your code here... myFileName = Left(.FoundFiles(i), Len(.FoundFiles(i)) - 4) & ".xls" ActiveWorkbook.SaveAs Filename:=myFileName, _ FileFormat:=xlWorkbookNormal Next i End If If you want to strip out the path, too: Option Explicit Sub BatchProcessor() Dim myFileName As String Dim myPath As String Dim i As Long With Application.FileSearch .NewSearch .LookIn = "C:\my documents\excel\" .SearchSubFolders = True .Filename = "ms1*.mea" .MatchTextExactly = True .FileType = msoFileTypeAllFiles If .Execute() 0 Then ' MsgBox "There were " & .FoundFiles.Count & "file(s) found." For i = 1 To .FoundFiles.Count Workbooks.Open Filename:=.FoundFiles(i) myPath = ActiveWorkbook.Path & "\" myFileName = Left(.FoundFiles(i), Len(.FoundFiles(i)) - 4) & ".xls" myFileName = Mid(myFileName, Len(myPath) + 1) myFileName = "c:\mynewpath\" & myFileName ActiveWorkbook.SaveAs Filename:=myFileName, _ FileFormat:=xlWorkbookNormal Next i End If End With End Sub Watch out, I changed the path for my testing! "m4nd4li4 <" wrote: Hi Mike, Unfortunately I get an Runtime Error 1004. File could not be accessed. Please try, etc, etc.... The error occurs here.... ActiveWorkbook.SaveAs FileName:="D:\inactiveb\" & .FoundFiles(I) & ".xls" I have tried different paths to save the file to, but always the same error. Any suggestions???? Regards, Bharesh --- Message posted from http://www.ExcelForum.com/ |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I let xl be xl when it comes to the size of the file.
With the exception of resetting the lastused cell. Debra Dalgleish has some techniques for trying to reset it: http://www.contextures.com/xlfaqApp.html#Unused "m4nd4li4 <" wrote: Hi Dave, Many thanks for suggestion. It works great but the size of the file is about 2MB! How come??? Shouldn't it be a lot smaller than 2MB??? Regards, Bharesh ![]() --- Message posted from http://www.ExcelForum.com/ -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How do I save date format: dd mmm yyyy as a csv file? | Excel Discussion (Misc queries) | |||
How to save word file in PDF format | Charts and Charting in Excel | |||
Save Excel File in Other Format | Excel Discussion (Misc queries) | |||
how do I save a column to a file (in ascii format) | Excel Discussion (Misc queries) | |||
How do I save format changes in a comma delimited file? | Excel Worksheet Functions |