خروج از برنامه در صورت بروز هرخطايي در كد برنامه VBA

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • Basirat
    • 2010/04/04
    • 2

    خروج از برنامه در صورت بروز هرخطايي در كد برنامه VBA

    باسلام
    من برنامه اي جهت برنامه ريزي توليد با VBA نوشته ام
    لطفا بفرماييد چه كدي مي توان به برنامه اضافه كرد ، كه وقتي خطي از برنامه با خطا مواجه مي شود ابتدا پيغام " برنامه با مشكل مواجه شده است " را صادر سپس از برنامه خارج شود .
  • mrexcel

    • 2010/02/03
    • 436
    • 81.00

    #2
    RE: خروج از برنامه در صورت بروز هرخطايي در كد برنامه VBA

    On Error GoTo line
    On Error Resume Next
    On Error GoTo
    اين 3 مورد در هنگام برخورد با خطا كاربرد دارد اگر از فرم ها هم بعد از اين كد كمك بگيريم
    خواسته شما انجام ميشود .
    البته اميدوارم دوستان متخصص نظر بهتري بدهند
    زنگ تفريح دنيا هميشگي نيست ، ساعت بعد حساب داريم

    کامنت

    • shamsololama

      • 2010/02/15
      • 940

      #3
      RE: خروج از برنامه در صورت بروز هرخطايي در كد برنامه VBA

      با درود فراوان به دوست گرامی
      در مورد خطاهای که در کد برنامه به وجود می آید اگر کد را اشتباه نوشته باشیم که همانطور که می دانید برنامه اجرا نخواد شد و توان اینکه پیغامی نیز صادر کند را نخواهد داشت چرا که اساس برنامه که کدنویسی در آن قسمت بوده مشکل دارد.

      ولی در یک دسته خطاها که به کدنویسی مربوط نبوده و کد نویسی را درست انجام داده ایم و بسته به دستوراتی که در کد نوشته ایم با خطا روبر می شویم اینکار شدنی است
      مثال اینکه اگر در یک کد دستوری را نوشته ایم که در درایو D فایل Book1 را باز کن اگر این فایل وجود داشته و بسته باشد این کد بدون خطا عمل می کند و اگر این فایل وجود نداشته باشد و یا باز باشد کد ما با خطا روبرو خواهد شد . که اگر همچنانکه قبلا گفته ام (در همین فروم) در سطر اول بنویسیم On error resume next کد زمان اجرا اگر با این خطا روبرو شد از آن گذشته و خطایی نمیگیرد و خللی نیز در برنامه ایجاد نمی شود و اگر نیاز داشته که پیغامی نیز صاد کند بجای پریدن از روی خطا با On error resume next می توانید با تابع شرطی if و دستوراتی که اول وجود آن فایل و یا باز و بسته بودن آن را چک کند را بررسی کرده و پیغام نیز در آن قرار داده و یا از ترکیب if و iserror استفاده کنیم که در صورت error پیغامی را داد و در غیر اینصورت آن را اجرا کند.
      در صورت نیاز توضیح بیشتر در خدمت شما خواهم بود و یا نمونه کار را ارئه داده تا با مثال آن را انجام داده در اختیار شما قرار دهم

      منتظر راهمنایی دیگر دوستان نیز هستیم
      ---------------------------------------------------------------------------------------------------
      بمانیم تا کاری کنیم ،نه کاری کنیم تا بمانیم (دکتر شریعتی)
      shamsololama@yahoo.com
      09177733411

      کامنت

      • afshar_yan

        • 2013/10/15
        • 9

        #4
        سلاممیدونم این یه موضوع قدیمیه ولی یه سوال برام پیش اومدهاگه بخوایم با دستو ر mkdir یه دایرکتوری درست کنیم و اگر دایرکتوری وجود داشت بجای اینکه ارور بده ازش بگذره باید چه کدی نوشت?

        کامنت

        • Amir Ghasemiyan

          • 2013/09/20
          • 4528
          • 100.00

          #5
          نوشته اصلی توسط afshar_yan
          سلاممیدونم این یه موضوع قدیمیه ولی یه سوال برام پیش اومدهاگه بخوایم با دستو ر mkdir یه دایرکتوری درست کنیم و اگر دایرکتوری وجود داشت بجای اینکه ارور بده ازش بگذره باید چه کدی نوشت?

          سلام دوست عزيز
          شما ميتونين قبل از اينكه پوشه رو ايجاد كنيد از وجود يا عدم وجود پوشه مطلع بشيد
          کد:
          If Dir(strFullPath, vbDirectory) = vbNullString Then MkDir strFullPath
          strFullPath آدرس كامل پوشه يا فايل مورد نظرتون هست

          کامنت

          • afshar_yan

            • 2013/10/15
            • 9

            #6
            خیلی آقایی
            درست شد ممنونم

            کامنت

            چند لحظه..