Move Files Into Directories Using VBA?
Mar 2, 2009
In my Excel file, I have three columns: A, B and C. Column A holds the folder names. column B holds the files hash names. And in column C, i keep the files real names, i.e:
A1.value = Contract folder
B1.value = 23ffryu567894lkgj090
C1.value = picture1.jpeg
On my hard drive, I have all the folders (column A data) already created inside a folder called directories: E:directories... There is another directory on my drive in which I keep all the hash files: E:infiles
And all I would like to do now, is to write a piece of code to read all three columns row by row and based on the data in that row, moves the hashed file into their proper directories and rename them to their real name. In the example above, the program should read the data found in the first row: A1, B1 and C1 and move the hash file named 23ffryu567894lkgj090 to E:directoriesContract folder and rename the hash file to picture1.jpeg
View 14 Replies
ADVERTISEMENT
Feb 13, 2010
search an entire drive from the root directory and down into all subfolders and copy all files matching various file types below to another drive into organized folders named for the file type. (for an example any .xls files in F: copy to G:xls .xls files) and also create an index in one excel file showing all the files in alphabetic order with its original path.
bmp
txt
xls
View 14 Replies
View Related
Jan 18, 2008
I am trying to do is loop through a series of directories under a target directory. When a directory is found, it looks within that directory and finds any .xls files, loops through those and copies/pastes them to the new target directory. I have managed to get it to work only on the first iteration of the loop through the directories, then it crashes. The error code is "Invalid Procedure Call or Argument." Here's the
If valFilePath = True Then
MsgBox (msg)
Else
'Search for directories within source directory
strDir = Dir(ebsSource & "", vbDirectory)
'If a file has been found
Do While strDir <> ""
If strDir <> "." And strDir <> ".." Then
strFile = Dir(ebsSource & "" & strDir & "" & "*.xls")
Do While strFile <> ""
'Copy .xls files and paste in destination
copySource = ebsSource & "" & strDir & "" & strFile
copyDestination = ebsDestination & "" & strDir & "" & strFile
FileCopy copySource, copyDestination
strFile = Dir
Loop
End If
'Crashes here after looping through the first iteration of Excel files
strDir = Dir
Loop
View 2 Replies
View Related
Mar 20, 2008
I found this nifty program on[url]but there is a problem with it and it's down to the types of files I'm trying to list on my PC.
The excel code below lets you select a starting directory and it will then produce a list of files in a sheet. However when it comes across an internet shortcut file it gets rather confused and won't display the name of the shortcut but what the shortcut stands for. This causes an issue when I try and get some details about the file (eg date, size etc.) as a 'permission denied' error can then occur if it links to a file that is currently in use. For some reason I can't attach an example of a shortcut / internet shortcut so please feel free to make one at your end. eg. I have a shortcut called 'ImageJ' which links to a web address [url]. The code below then reports this address instead of the file name 'ImageJ'. Can any one suggest how to amend this coding to handle this issue?
Option Explicit
'Requires a reference to:
' Microsoft Shell Controls and Automation (shell32.dll)
'Uses techniques found here:
[url]
Public objShell As IShellDispatch4
Public Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type
View 5 Replies
View Related
Mar 31, 2009
What I have is four folders that are labeled 2006, 2007, 2008, 2009. In each of these folders are numerous .xls files. "2006.BS.03.xls" is a name of one of the files in the 2006 folder. All the files have the same nameing structure.
When somebody created the template for these files, they inserted a bitmap image instead of a jpg. So the file size is over 4mb. I have changed the image in the template from a bitmap to a jpg and the file size is now 197kb. That is a big change.
So what I am wanting to do replace the bitmap with a jpg in all the .xls, that have a certain naming structure, that are in the four folders.
Attached is the workbook that I have planned to have open and click a command button to do all the work.
I have got this to work on one file, but can't figure out how to get it to do multipile.
View 7 Replies
View Related
Aug 6, 2012
In the code below I would like to add to move these files:
byemployee.csv
byposition.csv
status report.xls
bydepartment.csv
and if the file byband.csv exists, then move also otherwise ignore. I want to move to the folder Uploads which is also found under the variable MyPath
If it cannot be included in this code, then I have no problem with a new one.
Private Sub Exitbtn_Click()
Dim MyPath$, MyName$
Application.ScreenUpdating = False
Call chooseView.hideSheets
'Save the file to this path and type file name
[Code]....
View 4 Replies
View Related
Oct 29, 2012
I have the following two folders located in my D Drive:
1. D:FilesData
2. D:FilesArchives
I have lots of files (.txt) in the first folder (D:FilesData) from which I need to move all the files whose first character is starting with _(underscore) to the second folder (D:FilesArchives).
View 1 Replies
View Related
Sep 3, 2013
I have a list of file names in Excel and I need to move the files from one folder into another. Sometimes I'm having to find and move hundreds of files into different destination folders, hence why I would like a macro. My spreadsheet will be something like:
Column A
Column B
Column C
Row 1
File name
[Code]...
View 3 Replies
View Related
Jan 12, 2008
I would like to include code to move or copy various csv files from one computer across a network to other computers.
To date the best I have come up with is a method of running a batch file that executes the action.
Sub moveTKRS()
Call Shell("C:MoveTKRS.bat", vbNormalFocus)
End Sub
I would rather a more direct code that does not require a batch file.
View 9 Replies
View Related
Feb 7, 2008
I am trying to create a chart that will automatically expand to include additional rows. I have seen posts and examples of the kind of chart I am aiming for, but only showing one series… my chart needs to show several series and be able to add new ones in automatically. For example, I want to make a chart showing the Total Market, and each separate manufacturer, over 13 time periods. If a new manufacturer appears, I would like the chart to show it without having to manually change the source data. (see attached spreadsheet)
View 2 Replies
View Related
Aug 11, 2014
I have the following macro set up to create a folder in a directory as per the contents of 2 cells
C2 = Folder name to be created
B2= Date for previous working day
[code]....
I then have another macro that moves files into a specified folder within the same location ( I then manually move them into the folder the first macro created)
Is there a way I could get the files to move to the newly created folder without me having to do it manually.
View 4 Replies
View Related
Sep 8, 2009
i would like to be able to move files from one folder to another then delete the original files.
I dont think im passsing the variables to the functions corectly.
View 8 Replies
View Related
Jul 21, 2008
I have this code so far using Macro Recorder but i wanted to change a few parts which i am not too sure how to do:
Its basically supposed to look in specified folder for all files, move them to Main Workbook & rename them slightly
Sub getcsv()
Workbooks.Open Filename:= _
"C:Documents and SettingsSlimDesktopPositionsChartsAUDCADm1440.csv"
Sheets("AUDCADm1440").Select
Sheets("AUDCADm1440").Move After:=Workbooks("Position Risk Calc v9.8.xls"). _
Sheets(23)
End Sub............................
View 9 Replies
View Related
May 13, 2007
I am not so sure this can be done through a macro, but here is what I want.
I have a folder with say around 1000 excel workbooks. I need a macro to
1. Open each file in the directory specified
2. Read the contents of a particular cell, for ex, A1
3. Create a folder in the same directory with the value of A1
4. And, move the excel workbook itself to that folder.
5. Then it opens the next file
6. If the value of A1 is the same as that in the first workbook, it simply moves it to the already created folder, else it creates another folder with the new value of A1 and moves it there.
Hope I am not too confusing. Searching the forums does not give me an exact picture of how it can be done.
Note: I would also like an option where when I execute the macro, it should pop up with an option to select the folder in which the files are, since the files are not always saved in a static file path.
View 6 Replies
View Related
Nov 22, 2007
I am trying to develop an excel macro to accomplish the following:
-I have a master workbook for collecting data
-One folder will be used to dump excel files into; I don't know the filenames (other than "*.xls"), but I do know from which cells I will need to retreive data (they will be the same for all files)
1. I need to retrieve data from these excel files
2. After getting data from a file, it is then moved to another folder
3. Next the retreive data, then move is performed on the next excel file until there are none left in C:IN
Upon searching this forum, I found a way to open each of these files one by one (without having to know the filenames): Using a script to open unspecified file name
- For me, the obstacle seems to be not knowing how to do what I need to without knowing the filenames
- Again, the issue - retrieve data from these files, then rename/move these files
View 7 Replies
View Related
Aug 30, 2012
Using Excel Office 2003.
I have been using VBA to copy and move files to create backups for 7 or 8 years now, and it works great. However, recently I have been working on a way to use SD cards for the backups and the FileCopy command is much slower than using Windows Explorer.
I am looking for some alternate command lines that might do the job faster. I would like to know what Explorer is using.
View 8 Replies
View Related
Aug 5, 2009
I'm trying to make a macro that will search a folder and move all files from 2008 into another folder. So far it can do this, but what i need is for it to search subfolders also. At this point it moves all files from the main folder, but nothing from the subfolders.
Option Explicit
' Reference site [url]
Sub Copy_and_Rename_To_New_Folder()
Dim objFSO As FileSystemObject
Dim objFolder As Folder
Dim PathExists As Boolean
Dim objFile As File
Dim SrcFolder As String
Dim DestFolder As String
Dim x, Counter As Integer, Overwrite As String, strNewFileName As String
Dim strName As String, strMid As String, strExt As String
Dim LastModYear
View 5 Replies
View Related
Feb 5, 2010
I need to use VBA to test if a certain directory exists and if not ten create it.
I do this with:
[CODE]Sub MakeDir()
Dim DirName As String
Dim FileName As String
Dim fnameshort As String
FileName = "C:TestA1ATest.xls"
fnameshort = Right(FileName, Len(FileName) - InStrRev(FileName, ""))
DirName = Left(FileName, Len(FileName) - (Len(FileName) - InStrRev(FileName, "")))
If Dir(DirName) = "" Then
MsgBox "Does not exist"
'Dir to be created using MkDIr
End if
End Sub/CODE]
My problem is that I need the script to loop back until it finds a folder that exists, and then make the respective subfolders.
Example:
C:TestA1A should be created, but currently only C:TestA exists.
VBA should then test for the full path, and when it finds out, that it does not exist, it should strip off one folder, test for that and so forth.
When it finds an existing folder, it should then make the respective subfolder, and then the subfolder to that...
View 9 Replies
View Related
Nov 29, 2012
I am trying to automate some of the work I used to do as I have moved to another position, specifically trying to automate file management. I am using this code to create new files for each client
Code:
Public Sub CheckDir(fold1 As String)
If Dir(fold1, vbDirectory) = "" Then
MkDir fold1
Else
End If
End Sub
which works great, but you still have to do one client at a time. Basically I'm using this code to create new client files, but each year we will need to add a directory and sub directories for every client in a certain directory. What I would like to do is code a macro that would add say a "2013" folder with all appropriate sub directories to every client folder within the folder that contains all of the client folders The folder hierarchy should look like this
Code:
'F:Clients
'F:ClientsClientName
'F:ClientsClientName2013
'F:ClientsClientName2013RandomOtherFolders
I assume it would use a For/Each, but I'm not sure how to go about it.
View 3 Replies
View Related
Nov 8, 2007
I have a folder structure like ex this c:my folders. Under this folder i have several folders and subfolders. I would like to use a macro to run through all this folders an sub folders and change the name of the first letters of all folders.
Ex
LOP-100-APPL
LOP-200-ORG
I would like to change LOP to PLP instead. I'm lazy and looking for a method for not doing this job manually. This should be done from the excel workbook.
View 3 Replies
View Related
Sep 19, 2008
I am trying to access and copy some data from the excel file which is located in different folder each time I run the new macro. The file got the same name but only the folder name is different each time.
e.g File is called "testfile", but I have a list of subfolders something like that
date_time (folder name)
15-02-2008_2122 (folder name)
15-03-2008_2189 (folder name)
Each of the above subfolders contain "testfile" with new data and they all are located in the same drive and same mainfolder. Note my Macro file is located in a different drive.
I want when I run the macro all I have to do is to enter Date and macro will automatically pick up the right folder and the right file ("testfile") inside that folder and do all the required task.
View 9 Replies
View Related
Aug 22, 2006
I would like to create a list of folder/directories in the current directory. The only code I've been able to find lists all files in the current directory (not folders).
View 3 Replies
View Related
Jan 4, 2011
Is there any way to reference a directory that is up one level from the ActiveWorkbook.Path?
I am trying to accomplish three goals:
1. Maintain a Master Database in a root directory and pull data from a subdirectory - EASY:
VB : FilePath = ActiveWorkbook.Path & "sub-DirectoryName"
2. Maintain a Minor Database located in a sub-Directory, Named by Month, and pull data from the Master Database located in the Root Directory (up one level). Which I cannot find the right syntax for - ".." does not work.
3. Maintain a Minor Database in a sub-Directory, Named by Month, and pull data from a different Minor Database in a Different sub-Directory (e.g. up one level to root directory, then down one level to "January"). Which I also cannot find the right syntax for.
The Databases are going to be moved around A LOT, so I have to use relative paths.
View 4 Replies
View Related
Oct 7, 2007
Create sub directories from Cell Values
I Need a VB macro to Create sub directories unless sub directory already exist. My file will be Save 5 Level deep. Each Sub Directory will be cell value in a Worksheet .
Example C:CategoryYearSeriesMonthBimonthlyFile Name.xls
I will be using this in over 100 different files so I want to be Generic as possible
View 6 Replies
View Related
Feb 26, 2009
I have a CSV file and would like to create directories on my hard drive and the names of those directories will need to be pulled out from this csv file: [B1:B86].
For example I have the following data in my csv file:
B1: folder1
B2: folder2
.
.
.
And would like to create folders on my hard drive so that folder names will be: folder1, folder2, ...
View 9 Replies
View Related
Apr 5, 2007
I have a fluid document that I have to save for historical reasons in 2 separate directories. My save Macro works I was just wondering if anyone see's a better way of accomplishing saving to two separate directories then closing the document. I used the record function to gernerate most of the code.
Sub SAVEANDEXITTHESLATE()
Dim date1
Dim date2
Dim xlCalc As XlCalculation
xlCalc = Application.Calculation
Application.Calculation = xlCalculationManual
On Error Goto CalcBack
Application.ScreenUpdating = False
date1 = Now()
date2 = Format(date1, "mmm d yyyy hh mm")
ActiveWorkbook.SAVE
Application.DisplayAlerts = False
ChDir "c:Documents and SettingsmeDesktop"
ActiveWorkbook.SaveAs Filename:= _...................
View 5 Replies
View Related
Jan 28, 2010
I would like to create a macro which finds data from multiple worksheets and collates them in my Master Worksheet.
I am competent with a lot of functions with Excel, however I have never used Macro's before. I have a little bit of VB knowledge, but only the very basics. I will attempt to explain my situation as clearly as I can.
Please note in your response that I am not familiar with a lot of the programming jargon. I also do not know how to actually create (or is it record?) a macro.
Finally, before I dive into it, I would *prefer* not to have to add code to the closed worksheets, but I can do this if there is no other way!.......
View 14 Replies
View Related
Aug 17, 2012
Is there an easy way to populate a combobox with a list of directories on the hard drive?
I want to create a way for a user to specify a file without having to type in the full address by hand.
I would like to start in the c:/ root and list the directories in one combobox and the excel files in another combobox. Then if they select say "desktop" it displayes the directories in "c:/desktop" and the excel files contained there in. Then if they click test it does directories in "c:/desktop/test" and so on.
View 2 Replies
View Related
Feb 22, 2014
I have a master workbook that has been set up to mirror the structure of a single worksheet in various other workbooks saved in different directory locations. I need some VBA code to retreive specific data from a specified worksheet in multiple workbooks which are saved in different directories and then copy the data to the master workbook, listing each data set one after another. I do not want to open any of the source workbooks to acheive this.
I attach two example workbooks to better explain:
The code has to look in various sub directories to find the relevant workbooks, (Source1) then find the specified worksheet, (Stock) and copy only rows that have data from column B to O. The data needs to be copied to the master workbook, (master) from all the source workbooks as a list with no space.
View 4 Replies
View Related
Jul 7, 2009
is there a way to stick a few row of cells together so that when i move one they all move.. i have some rows that when i sort them i want them to move together with the other ones..
View 9 Replies
View Related