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 13th, 2002, 09:24 PM   #1
Guest
 
Posts: n/a
Default

Could you explain how can i handle ChDir errors in a program?
My codes is like

On Error GoTo noFolder
ChDir CurFolder & "" & category

The folder: CurFolder & "" category does not exist. The system pops up a message telling me the path not found instead of going to error handling line noFolder:. So how can fix this problem?
Thx in advance
  Reply With Quote
Old Mar 13th, 2002, 10:41 PM   #2
sutjh
 
Join Date: Mar 2002
Posts: 15
Default

your code must be skipping past your error handling.
this works fine:

Sub errtest()
On Error GoTo noFolder
ChDir CurFolder & "\" & Category

noFolder:
If Err.Number = 76 Then
MsgBox "Can't go there !!"
End If
End Sub
sutjh is offline   Reply With Quote
Old Mar 13th, 2002, 10:42 PM   #3
Russell Hauf
MrExcel MVP
 
Russell Hauf's Avatar
 
Join Date: Feb 2002
Location: Portland, OR USA
Posts: 1,368
Default

Quote:
On 2002-03-13 16:24, Anonymous wrote:
Could you explain how can i handle ChDir errors in a program?
My codes is like

On Error GoTo noFolder
ChDir CurFolder & "" & category

The folder: CurFolder & "" category does not exist. The system pops up a message telling me the path not found instead of going to error handling line noFolder:. So how can fix this problem?
Thx in advance
What do you want to do if the folder does not exist?
Russell Hauf is offline   Reply With Quote
Old Mar 13th, 2002, 10:55 PM   #4
Russell Hauf
MrExcel MVP
 
Russell Hauf's Avatar
 
Join Date: Feb 2002
Location: Portland, OR USA
Posts: 1,368
Default

You can use sutjh's error 76 method. Or you could use the Dir function to check for the folder.

Here is a little example which doesn't have an actual error handler, but may give you some ideas.

-rh

Code:
Sub TestChDir()

    Dim fPathOK As Boolean
    Dim curFolder, Category
    Dim curPath As String
    
    On Error Resume Next
    Do While Not fPathOK
        ChDir InputBox("Enter a path to change to")
        If Err = 0 Then
            ChDir curPath
            fPathOK = True
        Else
            MsgBox "your path was not found, try again"
            Err.Clear
        End If
    Loop
    
    On Error GoTo 0

End Sub
[ This Message was edited by: Russell Hauf on 2002-03-13 17:56 ]
Russell Hauf is offline   Reply With Quote
Old Mar 14th, 2002, 06:32 AM   #5
Guest
 
Posts: n/a
Default

Thx. Two procedures you provided run well. I think my code should also work. Still don't the reason of malfunction. Also i have some doubts in On Error GoTo 0.
Can this statement be used twice in one procedure? eg.
Code:
On error goto errHandling1:
'Action
on Error goto 0
on error goto errorHandling2:
'Other action
on Error goto 0
Can this work? i don't know whether all error handlings in the procedures are disabled after first occurence of "on Error goto 0". From help files, seems so. But what if i do need different error handlings in the same procedure? what's the functional scope on error ...?
  Reply With Quote
Old Mar 14th, 2002, 09:19 PM   #6
Russell Hauf
MrExcel MVP
 
Russell Hauf's Avatar
 
Join Date: Feb 2002
Location: Portland, OR USA
Posts: 1,368
Default

Quote:
On 2002-03-14 01:32, Anonymous wrote:
Thx. Two procedures you provided run well. I think my code should also work. Still don't the reason of malfunction. Also i have some doubts in On Error GoTo 0.
Can this statement be used twice in one procedure? eg.
Code:
On error goto errHandling1:
'Action
on Error goto 0
on error goto errorHandling2:
'Other action
on Error goto 0
Can this work? i don't know whether all error handlings in the procedures are disabled after first occurence of "on Error goto 0". From help files, seems so. But what if i do need different error handlings in the same procedure? what's the functional scope on error ...?
You can use one error handler to handle all cases (example below). On Error Goto 0 just re-sets the error handling to have Excel handle your errors. If you have an "On Error Resume Next" line, and want to switch back to your error handler, you do not need to have the goto 0 line first.

Now, for that error handler:
Code:
'...some code
ExitHere:
    Exit Sub

HandleErr:
    Select Case Err.Number
    Case 76
        ' do something to handle "Path not found"
    Case 55
        ' do something about error 55
    Case Else
        ' for all other errors, throw up
        ' Excel's error message and exit.
        MsgBox Err.Description
        Resume ExitHere
    End Select
End Sub
Hope this gives you an idea. You should not need multiple error handlers in a procedure.

-rh
Russell Hauf is offline   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 +1. The time now is 11:11 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
All contents Copyright 1998-2009 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