Solved

Conditional check in VbScript

Posted on 2008-06-10
3
900 Views
Last Modified: 2010-04-21
Hi,

In this script the input filename is passed as a parameter at runtime  (Thanks to Idle_Mind ;)

Like so...
strOrigFile = WScript.Arguments(0)

And at runtime...
wscript C:\testing\csv_to_xls.vbs C:\testing\in.csv

Now I want do do a conditional statement after this, basically saving if you cannot open the input file then just give up and die gracefully, currently if the file does not exist the script exits with error on line 23
objExcel.Workbooks.Open strOrigFile

Can somebody please help?

Thanks

Rob


Option Explicit
 
 

Dim fldr, f, file,strOrigFile, strFile, fso, strDirectory

Dim objExcel
 

'strOrigFile = "C:\testing\in.csv"
 

'******************************************************

'The input file name is passed at run time i.e. wscript C:\testing\csv_to_xls.vbs C:\testing\in.csv

'******************************************************
 
 

strOrigFile = WScript.Arguments(0)
 

'******************************************************

'CONVERTS THE FILE TO AN EXCEL FILE

'******************************************************

strFile = replace(strOrigFile,".csv",".xls")
 

Set objExcel = CreateObject("Excel.Application")
 

objExcel.Workbooks.Open strOrigFile
 

objExcel.DisplayAlerts = False

objExcel.ActiveWorkbook.SaveAs strFile, -4143
 

objExcel.DisplayAlerts = False

objExcel.ActiveWorkbook.Close

objExcel.DisplayAlerts = False

objExcel.Application.Quit
 

'******************************************************

'FORMAT THE EXCEL FILE AND SAVE IT

'******************************************************
 

objExcel.Workbooks.Open strFile
 

'Set the number format to zero D.P for specified columns

objExcel.columns("A:A").numberformat="0"

objExcel.columns("C:C").numberformat="0"

objExcel.columns("D:D").numberformat="0"
 
 

objExcel.DisplayAlerts = False

objExcel.ActiveWorkbook.SaveAs strFile, -4143
 

objExcel.DisplayAlerts = False

objExcel.ActiveWorkbook.Close

objExcel.DisplayAlerts = False

objExcel.Application.Quit

Set objExcel = Nothing
 

'msgbox "FINISHED!!!"
 

'******************************************************

'Delete the input file

'******************************************************

Set fso = CreateObject("Scripting.FileSystemObject")

fso.DeleteFile(strOrigFile)

Open in new window

0
Comment
Question by:arundelr
  • 2
3 Comments
 
LVL 67

Accepted Solution

by:
sirbounty earned 500 total points
Comment Utility
Put your fso assignment near the top...
Set fso = CreateObject("Scripting.FileSystemObject")

Then, just before line 23...


If not fso.FileExists(strOrigFile) Then
  msgbox "Sorry. the file could not be located."
  wscript.quit
End If
objExcel.Workbooks.Open strOrigFile
0
 

Author Comment

by:arundelr
Comment Utility
Thats Great - Thanks sirbounty ;o)
0
 

Author Closing Comment

by:arundelr
Comment Utility
A+
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Hello again, all.  For those of you that have been following along, you'll know that this is my third article on this topic (though it is not Part III).  This article is sort of remedial, and probably the topic with which I should have started the s…
Well hello again!  Glad to see you've made it this far without giving up.  In this, the fourth installment of my popular series, I'm going to cover functions and subroutines, what they are, and why they are useful.  Just in case you stumbled onto th…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

772 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

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now