Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Notwithstanding KeepItCools offering, this is an amended version of your
code. You might want to add some error checking on the file type Sub OpenFilesWin98() ' Macro copied 07-12-2001 from Google Newsgroup - microsoft.public.Excel ' Written by Robert Rosenberg, MVP Excel http:\\ntware.com 'Updated to rename css files to txt by Bob Phillips, 18th April 2005 ' Shows Open File dialogue & opens selected CSV files Dim ScrMode As Boolean Dim lCount As Long Dim szNames As Variant ScrMode = Application.ScreenUpdating lCount = 0 ChDir "C:\Documents and Settings\Owner\My Documents\DATA\" & Left(sMth, 3) szNames = Application.GetOpenFilename(MultiSelect:=True) If IsArray(szNames) Then ' At least one file selected Application.ScreenUpdating = False ' Loop through the array of files selected For lCount = LBound(szNames) To UBound(szNames) strnewname = Left(szNames(lCount), Len(szNames(lCount)) - 3) & "txt" Name szNames(lCount) As strnewname Workbooks.Open Filename:=strnewname, UpdateLinks:=False, ReadOnly:=True, Format:=2 Next lCount End If Application.ScreenUpdating = ScrMode End Sub -- HTH RP (remove nothere from the email address if mailing direct) "Richard Fuller" wrote in message m... Unlike Excel 2000, which I used until the recent demise of my "old" computer, Excel 2003 (WinXP) scrambles dates in *.csv files opened with a VBA macro. The simple cure is to rename the *.csv files to *.text before opening them with the Workbooks.OpenText method and stipulate how the date string should be handled. This is easy enough with only one file, but how can it be incorporated with the GetOpenFilename(MultiSelect:=True)method? What I'd like to do is have each selected file renamed to *.txt within the loop before it is opened. I'd be forever grateful for some sample code to point me in the right direction. Here's the code I've been using for some years (called by the main routine): Sub OpenFilesWin98() ' Macro copied 07-12-2001 from Google Newsgroup - microsoft.public.excel ' Written by Robert Rosenberg, MVP Excel http:\\ntware.com ' Shows Open File dialogue & opens selected CSV files Dim ScrMode As Boolean Dim lCount As Long Dim szNames As Variant ScrMode = Application.ScreenUpdating lCount = 0 ChDir "C:\Documents and Settings\Owner\My Documents\DATA\" & Left(sMth, 3) szNames = Application.GetOpenFilename(MultiSelect:=True) If IsArray(szNames) Then ' At least one file selected Application.ScreenUpdating = False ' Loop through the array of files selected For lCount = LBound(szNames) To UBound(szNames) Workbooks.Open Filename:=szNames(lCount), UpdateLinks:=False, ReadOnly:=True, Format:=2 Next lCount End If Application.ScreenUpdating = ScrMode End Sub TIA Richard Fuller Auckland, NZ |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Renaming Files | Excel Discussion (Misc queries) | |||
Renaming multiple files from *.csv to *.txt | Excel Programming | |||
Renaming multiple files from *.csv to *.txt | Excel Programming | |||
Renaming Files | Excel Programming | |||
Renaming files | Excel Programming |