MrExcel Message Board

Go Back   MrExcel Message Board > Question Forums > Excel Questions

Excel Questions All Excel/VBA questions - formulas, macros, pivot tables, general help, etc. Please post to this forum in English only.

Reply
 
Thread Tools Display Modes
Old Mar 29th, 2002, 11:47 AM   #1
keith
Board Regular
 
Join Date: Mar 2002
Posts: 88
Default

I have some code here that checks to see if a path exists, creates the path/dir if it doesn't exist, and then saves the active workbook in the dir. This works great, once. Problem comes in if the file already exists then Excel prompts the user asking if they want to overwrite. If the user says no, my VB errors out. Is there anyway to stop my VB from puking? Or my 2nd choice would be to stop excel from prompting and just automatically overwrite the file? Here is my current code:

Private Sub savebutton_Click()
Path = "c:worksheets"
If PathExists(Path) = False Then MkDir "c:worksheets"

ChDir "C:worksheets"
ActiveWorkbook.saveas Filename:= _
"C:worksheetsssworksheet_" & Worksheets("ssworksheet").Range("c6") & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
End Sub

Function PathExists(pname) As Boolean
' Returns TRUE if the path exists
Dim x As String
On Error Resume Next
x = GetAttr(pname) And 0
If Err = 0 Then PathExists = True _
Else: PathExists = False

End Function
keith is offline   Reply With Quote
Old Mar 29th, 2002, 05:12 PM   #2
Ivan F Moala
MrExcel MVP
 
Ivan F Moala's Avatar
 
Join Date: Feb 2002
Location: Auckland, New Zealand
Posts: 4,209
Default

Amend code as follows;

On Error Resume Next
ActiveWorkbook.SaveAs Filename:= _
"C:worksheetsssworksheet_" & Worksheets("ssworksheet").Range("c6") & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Err.Clear


Unless you want to see the error and respond to it then;

On Error Resume Next
ActiveWorkbook.SaveAs Filename:= _
"C:worksheetsssworksheet_" & Worksheets("ssworksheet").Range("c6") & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False

If Err Then MsgBox Err.Number & ":=" & Err.Description, _
vbMsgBoxHelpButton, "Error", Err.HelpFile, Err.HelpContext



HTH

Ivan
Ivan F Moala is offline   Reply With Quote
Old Mar 29th, 2002, 05:35 PM   #3
Dave Hawley
Banned
 
Join Date: Feb 2002
Posts: 1,582
Default

Hi keith


Ivan the terrible has already answered you question, the only poit I would add is, you should use:

On Error GoTo 0 to reset error trapping.

Also if you decide to go with your send choice:

Application.DisplayAlerts=False
'You code
Application.DisplayAlerts=True

This will force Excel to go with the fault answer for any warnings.


Dave Hawley is offline   Reply With Quote
Old Mar 29th, 2002, 05:49 PM   #4
Ivan F Moala
MrExcel MVP
 
Ivan F Moala's Avatar
 
Join Date: Feb 2002
Location: Auckland, New Zealand
Posts: 4,209
Default

Quote:
On 2002-03-29 16:35, Dave Hawley wrote:
Hi keith


Ivan the terrible has already answered you question, the only poit I would add is, you should use:

On Error GoTo 0 to reset error trapping.

Also if you decide to go with your send choice:

Application.DisplayAlerts=False
'You code
Application.DisplayAlerts=True

This will force Excel to go with the fault answer for any warnings.


Thanks Dave .....As Dave has pointed out
reset the Error call...good practice even
if you don't need it.

cheers Dave

Ivan
Ivan F Moala is offline   Reply With Quote
Old Mar 29th, 2002, 09:27 PM   #5
keith
Board Regular
 
Join Date: Mar 2002
Posts: 88
Default

Thanks guys. It worked great.

I had seen the "On Error Resume Next" code in other posts of various types and thought it might be the answer, but I wasn't sure exactly what it did (or how to turn it back on/reset it).

I was scared of it because the 'resume next' implies it might skip over the current line of code becaused it got an error. And I didn't want to risk the file not getting saved.

Thanks to you guys I think I now understand how it works..

Keith
keith is offline   Reply With Quote
Old Mar 29th, 2002, 09:31 PM   #6
daleyman
Board Regular
 
Join Date: Mar 2002
Location: London, UK
Posts: 167
Default

one extra tip i find useful,

it's often worth isolating an operation like this where you use ON ERROR to trap likely errors, so that it doesn't RESUME NEXT on other items in a larger procedure.

You can put just these three or four lines of code in its own subroutine with the on error command.
daleyman is offline   Reply With Quote
Old Mar 29th, 2002, 09:37 PM   #7
keith
Board Regular
 
Join Date: Mar 2002
Posts: 88
Default

gotcha - thanks
keith is offline   Reply With Quote
Old Mar 30th, 2002, 02:17 PM   #8
Jack in the UK
Board Regular
 
Join Date: Feb 2002
Posts: 3,064
Default

Dave = Ivan

Guys a big tip o the hat

I never knew that or would i.. ermm sounds like standard from now on regardless... UNLESS i need next regardless.

Good men!
you friend Jack
__________________
Free Excel based Web Toolbar available here.

Jack in the UK
J & R Excel Solutions
"making Excel work for you"
Jack in the UK is online now   Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


All times are GMT -4. The time now is 05:33 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
All contents Copyright 1998-2012 by MrExcel Consulting.
diabetic desserts recipes recipes Diabetic Soups Holiday Pizza Recipes Popcorn Recipes Recipes For Microwave Pasta Recipes Casserole Recipes Chili Recipes Curry Recipes Crockpot Recipes Apples Recipes Bread Recipes Vegetarian Recipes Vegetable recipes Desserts Recipes Appetizers Ethnic Recipes Meat Dishes Barbecue Recipes Sauces Recipes Marinade Recipes Low Fat Recipes Frugal Gourmet Kitchen Classics Recipes On The Grill Cook Books Seafood Recipes Cajun Recipes Breads Low Fat Low Fat Breads Bread Machine Recipes Yeast Breads Quick Breads Fat Free Vegetarian Salad Recipes Eggplant Recipes Radish Recipes Tomato Recipes Jalapeno Recipes Potato Recipes Lettuce Recipes Cabbage Recipes Beans Ambrosia Recipes Biscotti Recipes Desserts Low Fat Cookie Recipes Cheesecake Recipes Cake Recipes Pie Recipes Muffin Recipes Custard Recipes Best Appetizers Appetizers Low Fat Salsa Recipes Dip Recipes International Recipes Afghan Recipes Alaska Recipes French Recipes German Recipes Greek Recipes Italian Recipes Spanish Recipes Thai Recipes Korean Recipes Chinese Recipes Mexican Recipes Indian Recipes Beef Recipes Pork Pork & Ham Pork Butts Pork Chop Recipes Pork Ribs Rulled Pork Poultry Recipes Stews Recipes Ground Beef Barbecue Grill Barbecue Smoker All Purpose Sauce BBQ Sauce Barbecue Sauce Carolina BBQ Sauce Pickle Recipes Marinades Smoking Low Fat Appetizers & Dips Low Fat Breakfast Low Fat Cakes Low Fat Cheesecakes Low Fat Cookies Low Fat Desserts Low Fat Fish & Seafood Low Fat Meats Low Fat Pasta Low Fat Pies Low Fat Salads Low Fat Sandwiches Low Fat Sauces & Condiments Low Fat Sides Low Fat Soups Low Fat Vegetarian Baker's Dozen Taste of Home Recipe Book Bon Appetit Cookbook Blacktie Cookbook Buster Cook Book Cookbook USA Cook Book Cook Book Sara's Cookbook Sara's Cookbook Appetizers and Dips Poultry recipes Diabetic recipes Holiday recipes Miscellaneous recipes 110 recipes 1986 Usenet cookbook 2900 recipes Cyberrealm recipes Great sysops of world Specialty recipes Ceideburg recipes Cheese recipes Chili recipes Fruits recipes Garlic recipes Great chefs of NY Londontowne recipes Raisins recipes Recipes for kids US Food Vegetarian recipes Bread recipes Drinks Meat Dishes Brisket recipes Caribou recipes Chicken recipes Filet mignons recipes Pork recipes Swordfish recipes Turkey recipes Pasta recipes Uncategorized recipes Ethnic recipes Canada recipes English recipes Ethiopia recipes Germany recipes Greece recipes Mexican recipes Philippines recipes Welsh recipes Microwave recipes Soups recipes Vegetable recipes Asparagus recipes Barley recipes Brown rice recipes Lentil recipes Mushrooms recipes Salads recipes Wild rice Desserts recipes Cakes recipes Chocolate recipes Cookies recipes Ice cream recipes