Renaming scan files with a list of drawing names in excel spreadsh

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

The workflow is like this:
One person is creating the list of drawing name to be scanned in Excel.
Then another person is performing a kind of scanning, creating the files
(scan001, scan002, scan003 and so on.....
After that they want to rename the scanned drawings according to the list.
for example:-

Scan001 > list of drawing names in excel sheet
scan002 > list of drawing names in excel sheet
scan003 > list of drawing names in excel sheet


Can anyone help me on this.
Thanks a lot.
 
Ravi,
To get the scanned image into Excel, you can use this. Make sure the command
button has the .TakeFocusOnClick = False.

Private Sub CommandButton2_Click()
Dim cell As Range
Dim Counter As Long

Const FromScannerorCamera As Long = 1764
Const PicOffset As Long = 50

For Each cell In Range("rngFileNames")
Application.CommandBars.FindControl(, FromScannerorCamera).Execute
With Selection
.Name = cell.Text
.Left = Counter * PicOffset
Counter = Counter + 1
End With
Next

End Sub

If you want to talk directly to the scanner, look into using TWAIN from VBA.
Maybe one of these:
http://www.sharewareconnection.com/titles/twain-activex.htm

NickHK
 
Hi Nick,

Many Thanks for your reply.

What i want to do is just to rename the scanned files with the list of
drawing name which i type in excel.

For example: Scan001 will rename automatically to drawing name list created
in excel.

Please advise.
Thanks


Regards
 
Ravi,
OK then. Simplest routine, assuming all sequential. You should add error
trapping.
If your "SCANxxx" are listed next to the new file names and not sequentially
named, then you can use Dir() and VLOOKUP. Post back if you need more like
this.

Dim cell As Range
Dim Counter As Long

'Change to match your requirements
Const BASESCANNAME As String = "SCAN"
Const EXT As String = ".tif"
Const BASEDIR As String = "C:\"

ChDrive BASEDIR
ChDir BASEDIR

For Each cell In Range("rngFileNames")
Counter = Counter + 1
Name BASESCANNAME & Format(Counter, "000") & EXT As cell.Text & EXT
Next

NickHK
 
How to do it?

I have no knowledge on programming. How to write this codes? and where?



Regards
Ravi
 
Back
Top