Renaming certain columns in every file the working directory
Forums
Hi,
I'd like to rename the field names that fits a certain list in every file of my project.
For example:
Some files in my project have columns named "YEAR", "DATE", "BALANCE" and they have to be renamed into "YEAR_1", "DATE_NEW", "BALANCE_X". So they don't get the same extension but every field name has a new field name without some logic behind it.
It would be nice, if one could have a dialogue box with every .IMD file in the project where you can check which files should be scanned for old field names and replace them with the new ones.
To rename them in a specific file is easy as you can simply record a macro and just replace the file name. But how can I automatically do it for every file?
Thank you very much in advance.
I'm using IDEA 10.
Thank you for your answer.
Thank you for your answer.
Unfortunately your script isn't the feature I'm looking for.
The case is that I've got old files from IDEA 8 which contain standardized field names possibly among others, which are not relevant for this script. Now I've got IDEA 10 and the standardized field names changed in the company. So when I convert old IDEA 8 files to IDEA 10 I can't use the new macros as they rely on the new names. The type of values didn't change, it's just a new name.
But these new names don't follow a prefix or suffix so they have to be identified and replaced by name in every file that I convert.
EDIT:
The script for a single file and field name would look like this.
<code>
Sub Main
Call ModifyField()
End Sub
Function ModifyField
Set db = Client.OpenDatabase("file.IMD")
Set task = db.TableManagement
Set field = db.TableDef.NewField
field.Name = "BO_YE"
field.Description = "Booking year"
field.Type = WI_CHAR_FIELD
field.Equation =""
field.Length = 4
task.ReplaceField "YEAR", field
task.PerformTask
Set task = Nothing
Set db = Nothing
Set field = Nothing
End Function
</code>
This is what the macro records when I change the field name.
The fact that it's not a numeric field doesn't matter.
Thank you for your hint.
Thank you for your hint.
This function is looking good but there is still alot missing to get my desired result I guess.
I can use Dir() to get all names in my working directory with .IMD but what next?
The function should be something like:
- get the quantity and names of file with .IMD in the working directory
- using something like "do while" to rename the field names in each file until every file has been checked
But how do I use a list of file names to use them in a loop and replace them with the file name in my second post?
The example below with some
The example below with some more comments you will find in IDEA's language browser:
Sub Main
LogFiles = Dir("C:\Windows\*.LOG")
FileList = LogFiles
Do While LogFiles <> ""
LogFiles = Dir
If Len(LogFiles) > 1 Then
'PUT HERE YOUR CODE TO BE DONE WITH ALL FILES
End If
Loop
End Sub
HI ferby09 and welcome to the
HI ferby09 and welcome to the site.
There is a script that will do something like you want, adding a prefix or suffix to each field (http://ideascripting.com/ideascript/add-prefix-suffix-field-names) . I am curious to understand what you are looking for, any chance you can flesh it out with an example so I can understand it better.
Thanks
Brian