-
FlexPro
- At a Glance
- Features & Options
- Applications
- All Advantages
- What’s New in FlexPro 2021
- Try FlexPro For Free
- FlexPro View OEM Freeware
- Buying Guide
- Login
- Language
- +49 6894 929600
- infoweisang.com
- Google Maps
- Products
- News
- Support
- Company
- Contact
- Login
- Language
- +49 6894 929600
- infoweisang.com
- Google Maps
Sequential Numbering
Home > Community > Automation and VBA > Sequential Numbering
- This topic has 2 replies, 2 voices, and was last updated 10 years, 9 months ago by Fiona Vidal.
-
AuthorPosts
-
March 11, 2014 at 4:39 pm #12850Fiona VidalParticipant
I am trying to write a piece of VBA code to copy and paste a specific folder, “Data1”, from multiple files into one file. The data will subsequently be concatenated. I would like to name the folders that are pasted into the main FPD file sequentially, i.e. 01,02,03… etc. Do you know how I would do this? The number of files would be arbitrary.
Many thanks for your help
March 11, 2014 at 4:39 pm #8510Fiona VidalParticipantI am trying to write a piece of VBA code to copy and paste a specific folder, “Data1”, from multiple files into one file. The data will subsequently be concatenated. I would like to name the folders that are pasted into the main FPD file sequentially, i.e. 01,02,03… etc. Do you know how I would do this? The number of files would be arbitrary.
Many thanks for your help
March 12, 2014 at 10:38 am #9346Bernhard KantzParticipantUsing the Open method of the Databases collection of the Application object, one can load a FlexPro project database. The Folder object to be copied can be obtained via the RootFolder method of the opened Database object. Using its CopyTo method with the RootFolder of the destination Database performs the actual copy operation. With the Rename method the newly created folder can be given the desired name.
If you count the databases using an integer variable nCnt and FlexPro project database filenames as a string sFpd the code in your loop might look like the following:
Dim nCnt As Integer Dim sDstName As String Dim oSrcDb As Database Dim oSrcFolder As Folder Dim sFpd ... sDstName = "Data" & Right$(Str$(nCnt + 100), 2) Set oSrcDb = Application.Databases.Open(sFpd, fpOpenModeReadOnly) Set oSrcFolder = oSrcDb.RootFolder("Data", fpObjectTypeFolder) oSrcFolder.CopyTo(ThisDatabase.RootFolder, fpNameClashHandlingOverwrite).Rename sDstName oSrcDb.Close fpDoNotSaveChanges
But be aware that opening a project database is a time consuming operation, so get a cup of coffee when executing the script.
-
AuthorPosts
- You must be logged in to reply to this topic.