Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

VB Script Language/ActiveX

Posted on 2009-03-31
7
Medium Priority
?
299 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:Nathan Riley
  • 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 12

Author Comment

by:Nathan Riley
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 2000 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
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
LVL 12

Author Comment

by:Nathan Riley
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 2000 total points
ID: 24031720
Oh, if you're trying to simply rename, use .MoveFile, not .CopyFile...
0
 
LVL 12

Author Closing Comment

by:Nathan Riley
ID: 31564951
Works Great Thanks
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

Question has a verified solution.

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

I met Paul Devereux (@pdevereux) today when I responded to his tweet asking “Anybody know how to automate adding files from disk to a folder in #outlook  ?”.  I replied back and told Paul that using automation, in this case scripting, to add files t…
In this article you will learn how to create a free basic website on Bitbucket, a git service provider. Polymer creates dynamic HTML components, which allow more flexibility than static HTML. This tutorial uses Ubuntu Linux but can also be done on W…
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…
This video shows how to quickly and easily deploy an email signature for all users in Office 365 and prevent it from being added to replies and forwards. (the resulting signature is applied on the server level in Exchange Online) The email signat…

782 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