Solved

VB Script Language/ActiveX

Posted on 2009-03-31
7
288 Views
Last Modified: 2013-11-18
I need the below code to copy the file and when it does it is renaming it.  The only problem I need to modify it for a different project.  I needs to rename the file in the guard folder, but I won't know what the original filename is.  I tried doing a *.csv but that doesn't seem to work what would the correct syntax be?
'**********************************************************************
'  Visual Basic ActiveX Script
'************************************************************************
 
Function Main()
 
	dim fso
	dim d
	dim m
	dim y
 
	d = day(date)
	m = month(date)
	y =  year(date)
	
	if len(d) = 1 then d = "0" & d
	if len(m) = 1 then m = "0" & m
 
	set fso = createobject("Scripting.FileSystemObject")
 
	fso.Copyfile "C:\Clients\Strat\File Uploads\Customer Uploads\guard\test.csv", "C:\Clients\Strat\File Uploads\Customer Uploads\guard\guard.csv"
			
	Main = DTSTaskExecResult_Success
 
End Function

Open in new window

0
Comment
Question by:N R
  • 4
  • 3
7 Comments
 
LVL 67

Expert Comment

by:sirbounty
ID: 24031640
rename to what?
This should do it if you're talking only one file...
'**********************************************************************
'  Visual Basic ActiveX Script
'************************************************************************
 
Function Main()
 
        dim fso
        dim d
        dim m
        dim y
 
        d = day(date)
        m = month(date)
        y =  year(date)
        
        if len(d) = 1 then d = "0" & d
        if len(m) = 1 then m = "0" & m
 
        set fso = createobject("Scripting.FileSystemObject")
        strFolder = "C:\Clients\Strat\File Uploads\Customer Uploads\guard\"
        For Each File in objFSO.GetFolder(strFolder).Files
          fso.Copyfile file, strFolder & "guard.csv"
        Next                      
        Main = DTSTaskExecResult_Success
 
End Function

Open in new window

0
 
LVL 11

Author Comment

by:N R
ID: 24031673
I want it renamed to guard.csv from whatever it is currently named in the guard folder.  That script gave me and error:

Error Source: Microsoft Data Transformation Services(DTS) Package

Error Description: Error Code: 0
Error Source= Microsoft VBScript runtime error
Error Description: Object required: 'objFSO'

Error on Line 20
0
 
LVL 67

Accepted Solution

by:
sirbounty earned 500 total points
ID: 24031693
sorry - try this...
'**********************************************************************
'  Visual Basic ActiveX Script
'************************************************************************
 
Function Main()
 
        dim fso
        dim d
        dim m
        dim y
 
        d = day(date)
        m = month(date)
        y =  year(date)
        
        if len(d) = 1 then d = "0" & d
        if len(m) = 1 then m = "0" & m
 
        set fso = createobject("Scripting.FileSystemObject")
        strFolder = "C:\Clients\Strat\File Uploads\Customer Uploads\guard\"
        For Each File in fso.GetFolder(strFolder).Files
          fso.Copyfile file, strFolder & "guard.csv"
        Next                      
        Main = DTSTaskExecResult_Success
 
End Function

Open in new window

0
Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 11

Author Comment

by:N R
ID: 24031707
That renames the file, but the old file is still left there
0
 
LVL 67

Expert Comment

by:sirbounty
ID: 24031715
Actually, if there are any files in that folder, this could get ugly...
Assuming you'll only have one CSV..use this:
'**********************************************************************
'  Visual Basic ActiveX Script
'************************************************************************
 
Function Main()
 
        dim fso
        dim d
        dim m
        dim y
 
        d = day(date)
        m = month(date)
        y =  year(date)
        
        if len(d) = 1 then d = "0" & d
        if len(m) = 1 then m = "0" & m
 
        set fso = createobject("Scripting.FileSystemObject")
        strFolder = "C:\Clients\Strat\File Uploads\Customer Uploads\guard\"
        For Each File in fso.GetFolder(strFolder).Files
          If lcase(fso.getextensionname(file.name)) = "csv" Then fso.Copyfile file, strFolder & "guard.csv"
        Next                      
        Main = DTSTaskExecResult_Success
 
End Function

Open in new window

0
 
LVL 67

Assisted Solution

by:sirbounty
sirbounty earned 500 total points
ID: 24031720
Oh, if you're trying to simply rename, use .MoveFile, not .CopyFile...
0
 
LVL 11

Author Closing Comment

by:N R
ID: 31564951
Works Great Thanks
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Script to copy or move mouse-selected collection of files plus targets referenced by shortcuts (.lnk) The purpose of this article is to help illuminate the real challenges and options available (where they may exist) for utilizing simple scriptin…
This is pretty cool.  The purpose of this VB Script is to help you document where JAR (Java ARchive) files and specifically java class files are located so that you can address issues seen with a client or that you can speak intelligently with a dev…
The purpose of this video is to demonstrate how to set up the WordPress backend so that each page automatically generates a Mailchimp signup form in the sidebar. This will be demonstrated using a Windows 8 PC. Tools Used are Photoshop, Awesome…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used.

789 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question