سلام کدی می خوام برای بک اپگیری فایل اکسل در مسیری که همان فایل اصلی قرار داره لطفا راهنمایی کنید
backup
Collapse
این تاپیک قفل است.
X
X
-
سلام دوست عزيز
ميتونيد از اين كد استفاده كنيد
کد:Sub SaveWorkbookBackup() Dim AWB As Workbook, BackupFileName As String, BackupFileFormat As String, i As Integer, Ok As Boolean On Error GoTo NotAbleToSave Set AWB = ActiveWorkbook BackupFileName = AWB.FullName If AWB.Path = "" Then Application.Dialogs(xlDialogSaveAs).Show Else BackupFileFormat = Right(BackupFileName, Len(BackupFileName) - InStrRev(BackupFileName, ".", -1, vbTextCompare)) BackupFileName = Left(AWB.FullName, Len(BackupFileName) - Len(BackupFileFormat) - 1) BackupFileName = BackupFileName & "-Backup-" & Format(Now, "yyyy-mm-dd-h-m") & "." & BackupFileFormat Ok = False With AWB .Save .SaveCopyAs BackupFileName Ok = True End With End If NotAbleToSave: Set AWB = Nothing If Not Ok Then MsgBox "Backup Copy Not Saved!", vbExclamation, ThisWorkbook.Name End If End Sub
-
سلام استاد ارجمند ممنون از پاسختان
یک مشکل دارم که اگر اساتید و دوستان عزیز برطرف نمایند خیلی ممنون میشم
بنده یک فایل اکسل دارم که توسط برنامه XLtoEXE به فایل اجرایی (exe) تبدیل کردم هنگامی که فایل exe را باز می کنم و دکمه بک اپ را می زنم تا یک بک اپ بگیرم (طبق کد بالا) متاسفانه بک اپ نمیگیره اشکال از کجاست؟
(وقتی از خود فایل اکسل اصلی بک اپ میگیرم درست انجام میشه و بک اپ میده ولی فایل exe را بک اپ نمیده)
ممنون میشم اشکال کار را بگین
رمز ورود و محیط vba عدد 1359 هست
اگر برنامه XLtoEXE رمز خواست عدد 123 هست
فایلها:
کامنت
-
سلام دوست عزيز
ميتونيد از اين كد استفاده كنيد
کد:sub saveworkbookbackup() dim awb as workbook, backupfilename as string, backupfileformat as string, i as integer, ok as boolean on error goto notabletosave set awb = activeworkbook backupfilename = awb.fullname if awb.path = "" then application.dialogs(xldialogsaveas).show else backupfileformat = right(backupfilename, len(backupfilename) - instrrev(backupfilename, ".", -1, vbtextcompare)) backupfilename = left(awb.fullname, len(backupfilename) - len(backupfileformat) - 1) backupfilename = backupfilename & "-backup-" & format(now, "yyyy-mm-dd-h-m") & "." & backupfileformat ok = false with awb .save .savecopyas backupfilename ok = true end with end if notabletosave: Set awb = nothing if not ok then msgbox "backup copy not saved!", vbexclamation, thisworkbook.name end if end sub
ببخشید دو تا سوال داشتم
1-اگر بخواهیم فایل بک آپ را در آدرس دیگری مثل
d:\my-excel\backup-my-excel ذخیره کنیم بایستی چه تغییراتی در کد داده شود
2-بعد از بک آپ گیری فایل اکسل اصلی بسته شود
پیشاپیش از راهنمائی تون سپاسگزارم[CENTER][SIZE=4][FONT=arial][COLOR=#b22222] :winner2:[/COLOR][COLOR=#000080] فرانسیس بیکن : [/COLOR][COLOR=#0000cd]آنچه مردم را [/COLOR][COLOR=#ff0000]دانشمند [/COLOR][COLOR=#0000cd]می کند ، مطالبی نیست که [/COLOR][COLOR=#800000]می خوانند[/COLOR][COLOR=#0000cd] بلکه چیزهایی است که [/COLOR][COLOR=#800000]یاد می گیرند[/COLOR][COLOR=#b22222] :lamo:[/COLOR][/FONT]
[/SIZE][/CENTER]کامنت
-
سلام استاد ارجمند ممنون از پاسختان
یک مشکل دارم که اگر اساتید و دوستان عزیز برطرف نمایند خیلی ممنون میشم
بنده یک فایل اکسل دارم که توسط برنامه XLtoEXE به فایل اجرایی (exe) تبدیل کردم هنگامی که فایل exe را باز می کنم و دکمه بک اپ را می زنم تا یک بک اپ بگیرم (طبق کد بالا) متاسفانه بک اپ نمیگیره اشکال از کجاست؟
(وقتی از خود فایل اکسل اصلی بک اپ میگیرم درست انجام میشه و بک اپ میده ولی فایل exe را بک اپ نمیده)
ممنون میشم اشکال کار را بگین
رمز ورود و محیط vba عدد 1359 هست
اگر برنامه XLtoEXE رمز خواست عدد 123 هست
فایلها:
http://s5.picofile.com/file/83748795...older.rar.htmlکد:Sub SaveWorkbookBackup() Dim AWB As Workbook, BackupFileName As String, BackupFileFormat As String, i As Integer, Ok As Boolean, Path As String On Error GoTo NotAbleToSave Set AWB = ActiveWorkbook BackupFileName = AWB.Name [COLOR="#FF0000"]Path = "D:\ExcelIran\" سلام دوست عزيز ميبينم كه فايلتون خيلي پيشرفت كرده. خيلي خوشحالم كه تونستيد نرم افزار به اين خوبي طراحي كنيد. قطعا در خلال اين پروژه مطالب زيادي ياد گرفتين. خوشحال ميشيم بتونيم از دانشتون استفاده كنيم. در مورد بك آپ هم بررسي كردم. اين نرم افزار براي اجراي فايل اكسل شما يك فايل تمپرري ايجاد ميكنه. براي اينكه به مشكل نخوريد آدرس رو بايد مطلق بدين. من كد رو براتون تغيير ميدم. If Dir(Path, vbDirectory) = vbNullString Then MkDir (Path) If AWB.Path = "" Then Application.Dialogs(xlDialogSaveAs).Show Else BackupFileFormat = Right(BackupFileName, Len(BackupFileName) - InStrRev(BackupFileName, ".", -1, vbTextCompare)) BackupFileName = Left(BackupFileName, Len(BackupFileName) - Len(BackupFileFormat) - 1) BackupFileName = Path & BackupFileName & "-Backup-" & Format(Now, "yyyy-mm-dd-h-m") & "." & BackupFileFormat Ok = False With AWB .Save .SaveCopyAs BackupFileName Ok = True End With End If NotAbleToSave: Set AWB = Nothing If Not Ok Then MsgBox "Backup Copy Not Saved!", vbExclamation, ThisWorkbook.Name End If End Sub
[/COLOR]کامنت
-
براي سوال اولتون به پاسخ قبلي مراجعه بفرماييد. براي دوستمون تغييرات رو اعمال كردم
براي سوال دوم هم ميتونيد يكي از اين دو خط كد رو بر اساس نيازتون به انتهاي كدهاتون اضافه كنيد
کد:Application.Quit ActiveWindow.Close
کامنت
-
سلام استاد ارجمند جناب اقای قاسمیان شما لطف دارین بنده هر کاری کردم و هر چی یاد گرفتم از لطف شما و دیگر دوستان انجمن بوده امیدوارم همیشه موفق وپایدار باشین.
بابت اصلاح کد ممنون ولی ایا این امکان هست که فرمت بک اپ گرفته شده همانند فایل اصلی که به صورت exe هست باشه. ممنونکامنت
-
کد:Dim fso As Object Set fso = VBA.CreateObject("Scripting.FileSystemObject") [COLOR="#FF0000"]Source = "E:\B Book980718.exe" Destination = "D:\amir.exe" براي اينكار من پيشنهاد ميكنم از كپي پيست كردن استفاده كنيد. به اين كد توجه كنيد Call fso.CopyFile(Source, Destination)
کامنت
-
سلام استاد
خیلی سپاسگزارم
سایه عالی مستدام[CENTER][SIZE=4][FONT=arial][COLOR=#b22222] :winner2:[/COLOR][COLOR=#000080] فرانسیس بیکن : [/COLOR][COLOR=#0000cd]آنچه مردم را [/COLOR][COLOR=#ff0000]دانشمند [/COLOR][COLOR=#0000cd]می کند ، مطالبی نیست که [/COLOR][COLOR=#800000]می خوانند[/COLOR][COLOR=#0000cd] بلکه چیزهایی است که [/COLOR][COLOR=#800000]یاد می گیرند[/COLOR][COLOR=#b22222] :lamo:[/COLOR][/FONT]
[/SIZE][/CENTER]کامنت
-
جناب آقای قاسمیان ممنون از اینکه پاسخ دادین
لطف می کنید بگین این کد را کجا قرار بدم
و دوم اینکه ایا این امکان هست که ما داخل کد ادرس ندیم (مثلا از درایو e کپی و به درایو d پیست کنه) بلکه با اجرای کد در درایوی که فایل هست فایل کپی و در همان درایوی که فایل اصلی هست پیست شود..
باز هم ممنونکامنت
-
كلا جايگزين كد قبلي كنيد
متاسفانه امكانش نيست. چون فايل شما exe هست و نرم افزار از فايل اكسل شما يك فايل تمپرري در يك آدرس ديگه ميسازه پس نميشه آدرس فعلي فايل exe رو مشخص كردکامنت
-
کد:Dim fso As Object Set fso = VBA.CreateObject("Scripting.FileSystemObject") [COLOR=#FF0000]Source = "E:\B Book980718.exe" Destination = "D:\amir.exe" براي اينكار من پيشنهاد ميكنم از كپي پيست كردن استفاده كنيد. به اين كد توجه كنيد Call fso.CopyFile(Source, Destination)
ایا این امکان هست که با اجرای ماکرو (یا هرروش دیگری ) یک نوشته یا حرف را از یک سلول شیت به جای نوشته یا حرف در کد vba جایگزین نمود.
مثلا در یک سلول ما حرف E را داشته باشیم و با اجرای یک کد یا ماکرو ان حرف E جایگزین حرف D در کدVBA که دادین شود.
باز هم ممنونکامنت
-
با سلام ممنون از پاسختان
ایا این امکان هست که با اجرای ماکرو (یا هرروش دیگری ) یک نوشته یا حرف را از یک سلول شیت به جای نوشته یا حرف در کد vba جایگزین نمود.
مثلا در یک سلول ما حرف e را داشته باشیم و با اجرای یک کد یا ماکرو ان حرف e جایگزین حرف d در کدvba که دادین شود.
باز هم ممنون
اگر اينطوريه آدرس ها رو داخل يك سلول بنويسيد و رفرنس بدين به اون. نيازي نيست كدهاي vba رو تغيير بدينکامنت
-
خب پس همونطور كه عرض كردم آدرس ها رو داخل يك سلول بنويسيد و به اون سلول رفرنس بدين. اينطوري بهتره
مثلا اينطوري:
کد:Source = Sheet1.Range("A1").Value
کامنت
کامنت