Create bulk or mass folders using VB.Net functions and Excel spreadsheet

Download Source

Introduction

This sample code tells you how to create a series of folders using folder names stored in an excel spreadsheet.

How to use

  • Open any excel spreadsheet which contains folder names. You can get sample spreadsheet from downloaded source.


  • Select folder names and copy them from this excel spreadsheet.
  • Open downloaded source code with Visual Studio 2005 and run it. Following form should appear.


  • Click on Paste from Excel. This should paste values from Excel spreadsheet into DatagridView. If it does not paste, make sure you have copied values from excel spreadsheet.


  • Enter path of directory where you want to create folders and make sure it exists.
  • Click Create Folders button. This will create folders in specified directory.


How it works

There are two main functionality used in this sample :
(1) Get directory name values from Excel spreadsheet using Clipboard object
(2) Create folders using DirectoryInfo object.

(1) Get directory name values from Excel spreadsheet

VB.Net clipboard object allows you to get text from Clipboard object. Here is the code.

Dim s As String = Clipboard.GetText()
 'When you get excel clipboard data as string, it will separate 
 'cells with a new line character. Use this new line character 
 'to split values in to an array.
 Dim cells() As String = s.Split(vbNewLine)
 'Now Cells() array will hold all directory names.

Use cells() array to buid a datatable and assign it to DataGridView as datasource.

'Create data table with directry names.
 Dim DT As New DataTable()
 DT.Columns.Add("Directory Name")
 Dim i As Integer
 'Loop through cells() array and add rows in data table.
 For i = 0 To cells.Length - 1
 DT.Rows.Add(New Object() {cells(i)})
 Next
 DataGridView1.DataSource = DT

(2) Create Folders

Once you have folder names in DataGridView, you can use it to create folders with DirectoryInfo() object.

'Get values from DataGridView datasource to a DataTable.
 Dim DT As DataTable = DataGridView1.DataSource

 Dim i As Integer
 'Loop through grid and get directory names.
 For i = 0 To DT.Rows.Count - 1
 'Get directory name.
 Dim DirName As String = DT.Rows(i)("Directory Name").ToString()
 'Trim directory name to remove spaces from beginning or end of string.
 DirName = Trim(DirName)
 If (DirName  "") Then
 'Initialize a DirectoryInfo object with this directory.
 'txtDir is the path where directories needs to be created.
 Dim oDir As New DirectoryInfo(txtDir.Text + DirName) 
 oDir.Create()
 End If
 Next

Sourcecode

Download Source


Posted: 5 years 11 months ago by davemcgruer@gmail.com #145
davemcgruer@gmail.com's Avatar
I used this once and was thrilled. I am trying to do it again and cannot get the program to start in VB2005. Ideas?