بک آپ خودکار

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ehsanshahbeig

    • 2017/01/21
    • 45
    • 28.00

    پرسش بک آپ خودکار

    سلام
    خسته نباشید
    من یه کد داشتم که تو ماژول اکسل به یک button وصل میشه و بک آپ رو میگیره

    حالا من میخوام اینو به صورتی تغییر بدم که موقع خروج

    1- اولا خودش بک آپ ها رو به صورت خودکار بگیره(یعنی نیازی به button نباشه)

    2- دوم اینکه فایل بک آپ بره تو درایو مثلا D و یه پوشه خودش درست کنه به نام همون فایل اکسل و داخل اون پوشه بک آپ ها رو بریزه.

    مثل برنامه هلو که خودش یه پوشه تو درایور C درست میکنه و اسمشم خودش میزاره HOLOO و داخل اون پوشه بک آپ ها رو میریزه


    دوستان اگر ممکن هست کمک بفرمایند
  • Amir Ghasemiyan

    • 2013/09/20
    • 4598
    • 100.00

    #2
    سلام دوست عزيز
    كدي كه استفاده ميكنيد رو بذاريد من رو همون براتون ويرايش ميكنم

    کامنت

    • ehsanshahbeig

      • 2017/01/21
      • 45
      • 28.00

      #3
      نوشته اصلی توسط Amir Ghasemiyan
      سلام دوست عزيز
      كدي كه استفاده ميكنيد رو بذاريد من رو همون براتون ويرايش ميكنم
      ببخشید فراموش کردم کد رو بزارم:

      کد:
      Sub ehsanshahbeig()
      
          Dim iDate As Long
          Dim iFile As String
          
              iDate = Format(Date, "yyyymmdd")
              iFile = ThisWorkbook.Path & "/" & iDate & ".xlsm"
          ThisWorkbook.SaveCopyAs Filename:=iFile
      
      End Sub
      Last edited by Amir Ghasemiyan; 2018/09/23, 16:33. دلیل: قرار دادن كد داخل تگ مربوطه

      کامنت

      • Amir Ghasemiyan

        • 2013/09/20
        • 4598
        • 100.00

        #4
        خب دوست عزيز
        براي سوال اولتون كافيه اين كد رو داخل كدهاي workbook بذاريد

        کد:
        Private Sub Workbook_BeforeClose(Cancel As Boolean)
        ehsanshahbeig
        End Sub
        براي سوال دومتون هم اين كد رو جايگزين كد فعليتون بكنيد
        کد:
        Sub ehsanshahbeig()
        
            Dim iDate As Long
            Dim iFile As String
            
                iDate = Format(Date, "yyyymmdd")
                iFile = D:/Exceliran/" & iDate & ".xlsm"
            ThisWorkbook.SaveCopyAs Filename:=iFile
        
        End Sub

        کامنت

        • ehsanshahbeig

          • 2017/01/21
          • 45
          • 28.00

          #5
          نوشته اصلی توسط Amir Ghasemiyan
          خب دوست عزيز
          براي سوال اولتون كافيه اين كد رو داخل كدهاي workbook بذاريد

          کد:
          Private Sub Workbook_BeforeClose(Cancel As Boolean)
          ehsanshahbeig
          End Sub
          براي سوال دومتون هم اين كد رو جايگزين كد فعليتون بكنيد
          کد:
          Sub ehsanshahbeig()
          
              Dim iDate As Long
              Dim iFile As String
              
                  iDate = Format(Date, "yyyymmdd")
                  iFile = D:/Exceliran/" & iDate & ".xlsm"
              ThisWorkbook.SaveCopyAs Filename:=iFile
          
          End Sub

          این خط ارور میاد:

          ThisWorkbook.SaveCopyAs Filename:=iFile
          فایل های پیوست شده

          کامنت

          • Amir Ghasemiyan

            • 2013/09/20
            • 4598
            • 100.00

            #6
            نوشته اصلی توسط ehsanshahbeig
            این خط ارور میاد:

            ThisWorkbook.SaveCopyAs Filename:=iFile
            احتمالا بخاطر اينه كه همچين پوشه اي وجود نداره يا اينكه آدرس رو اشتباه وارد كرديد
            اگر بخواهيد خود سيستم تشخيص بده همچين فولدري وجود داره يا نه بايد اين كدها رو به ابتداي كدتون اضافه كنيد

            کد:
            FLDR_NAME = "D:/Exceliran"
            Set folder = CreateObject("Scripting.FileSystemObject")
            If Not folder.FolderExists(FLDR_NAME) Then folder.CreateFolder (FLDR_NAME)

            کامنت

            • ehsanshahbeig

              • 2017/01/21
              • 45
              • 28.00

              #7
              نوشته اصلی توسط Amir Ghasemiyan
              احتمالا بخاطر اينه كه همچين پوشه اي وجود نداره يا اينكه آدرس رو اشتباه وارد كرديد
              اگر بخواهيد خود سيستم تشخيص بده همچين فولدري وجود داره يا نه بايد اين كدها رو به ابتداي كدتون اضافه كنيد

              کد:
              FLDR_NAME = "D:/Exceliran"
              Set folder = CreateObject("Scripting.FileSystemObject")
              If Not folder.FolderExists(FLDR_NAME) Then folder.CreateFolder (FLDR_NAME)
              بله دقیقا همین بود منظورم. ممنون از شما

              کامنت

              • ehsanshahbeig

                • 2017/01/21
                • 45
                • 28.00

                #8
                سلام

                ارور های زیر میاد:

                Click image for larger version

Name:	15.png
Views:	1
Size:	36.1 کیلو بایت
ID:	134422

                Click image for larger version

Name:	14.png
Views:	1
Size:	12.8 کیلو بایت
ID:	134421
                فایل های پیوست شده

                کامنت

                • Amir Ghasemiyan

                  • 2013/09/20
                  • 4598
                  • 100.00

                  #9
                  فايل نمونه بذاريد بررسي كنم

                  کامنت

                  • ehsanshahbeig

                    • 2017/01/21
                    • 45
                    • 28.00

                    #10
                    سلام
                    فایل رو دیروز گذاشتم ولی نمیدونم چرا نیومده:



                    کامنت

                    • ehsanshahbeig

                      • 2017/01/21
                      • 45
                      • 28.00

                      #11
                      نوشته اصلی توسط Amir Ghasemiyan
                      فايل نمونه بذاريد بررسي كنم

                      فایلد رو بررسی کردید؟

                      کامنت

                      • ehsanshahbeig

                        • 2017/01/21
                        • 45
                        • 28.00

                        #12
                        کسی نیست؟

                        کامنت

                        • ehsanshahbeig

                          • 2017/01/21
                          • 45
                          • 28.00

                          #13
                          نوشته اصلی توسط Amir Ghasemiyan
                          فايل نمونه بذاريد بررسي كنم

                          آقای قاسمیان فایل رو گذاشتم.

                          کامنت

                          • ehsanshahbeig

                            • 2017/01/21
                            • 45
                            • 28.00

                            #14
                            آقا یکی کمک کنه منو خیلی کارم گیره

                            کامنت

                            • Amir Ghasemiyan

                              • 2013/09/20
                              • 4598
                              • 100.00

                              #15
                              سلام دوست عزيز
                              ببخشيد بابت تاخير

                              مشكل كد شما فقط بخاطر طولاني بودن عدد توليد شده در iDate هست.
                              كافيه خط پنجم رو به اين صورت اصلاح كنيد

                              کد:
                              Dim iDate As Double

                              کامنت

                              چند لحظه..