امکان دارد که شما تعدادی فایل اکسل در مسیر مشخصی داشته باشید و بخواهید تغییر گروهی فایلهای اکسل را روی آنها اعمال کنید .
به عنوان مثال بخواهید که در تمام فایلها مثلا سلول C3 انها به عدد خاصی تغییر کند و یا حتی تنظیمات فایلها را در زان چاپ تغییر دهید . که در ادامه این آموزش رایگان به این موارد پرداخته ایم .
فهرست محتوا
تغییر گروهی فایلهای اکسل
همانطور که در تصویر زیر می بینید ، تعدادی فایل در یک آدرس از کامپیوتر داریم که ساختار همه آنها یکسان است و میخواهیم فارغ از نام آنها تغییراتی در همه آنها اعمال کنیم .
برای این کار کافیست که مراحل زیر را انجام دهیم ، که با توضیحاتی که در ویدیو اول مطلب داده شده ، نیازی هم به دانش کد نویسی ندارید و فقط کافیست مراحل ساده زیر را طی کنید.
- یک فایل کنار فایلهای دیگر ایجاد کنید ( کلیک راست کنید و از گزینه New گزینه Excel File را انتخاب کنید.)
- پسوند فایل ساخته شده را حتما Xlsm در نظر بگیرید
- فایل را باز کنید و با زدن کلیدهای Ctrl + F11 وارد قسمت کدنویسی VBA شوید .
- در قسمت آبجکتها کلیک راست کرده و New و گزینه Module را انتخاب کنید.
- کدهای زیر را کپی کرده و آنجا قرار دهید.
- ذخیره کنید و قسمت کدنویسی را ببندید.
Sub OfficebazUpdateExcelFiles() Dim folderPath As String Dim fileName As String Dim wb As Workbook Dim ws As Worksheet Dim cell As Range Dim fso As Object Dim folder As Object Dim file As Object folderPath = ThisWorkbook.Path & "\" Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder(folderPath) For Each file In folder.Files If file.Name <> ThisWorkbook.Name And fso.GetExtensionName(file.Path) = "xlsx" Then Set wb = Workbooks.Open(file.Path) Set ws = wb.Sheets("Sheet1") Set cell = ws.Range("C4") cell.Value = 25 cell.NumberFormat = "0.00" Set cell = ws.Range("C5") cell.Value = 0.2 cell.NumberFormat = "0%" ActiveWorkbook.RemovePersonalInformation = False wb.ActiveSheet.PageSetup.Zoom = 90 With wb.ActiveSheet.PageSetup .CenterHorizontally = True .CenterVertically = True .PaperSize = xlPaperA4 End With wb.Close SaveChanges:=True End If Next file MsgBox "Done!", vbInformation, "Officebaz.ir" End Sub
چند مرحله ساده دیگر باقیمانده تا بتوانید تغییر گروهی فایلهای اکسل را ایجاد نمائید که در ادامه مراحل را توضیح داده ایم.
- در تب Insert گزینه Shape را انتخاب کنید و به دلخواه یک Shape در فایل اکسل قرار دهید.
- روی Shape ایجاد شده کایک راست کنید.
- گزینه Assign Macro را انتخاب کنید .
- حالای روی نام OfficebazUpdateExcelFiles در لیست ماکروها دابل کلیک کنید.
- حالا کافیست روی Shape کلیک کنید.
اگر مراحل را درست انجام داده باشید کدها اجرا خواهد شد .
تغییر گروهی فایلهای اکسل
این تغییرات چه چیزهایی هستند و چگونه می توانیم تغییرات دلخواه خودمان را در کدها اجرا کنیم ؟
برای پاسخ به این سوال بهتر است که ویدیو آموزشی را کامل ببینید و توضیح داده ایم که کجای کدها را چه تغییراتی بدهید تا بتوانید شخصی سازی انجام دهید.
توضیح بسیار مهم
کدهای نوشته معمولا باید روی تمام ورژن های اکسل ایجاد شود ولی احتما دارد مشکلی وجود داشته باشد که من دو مورد از مهمترین آنها را در ادامه توضیح خواهم داد که با برطرف کردن آنها به دیگر مشکلی نخواهید داشت.
- احتمال دارد که مسیر فایلهای شما فارسی باشد
یعنی نام پوشه و یا نام یکی از پوشه هایی که فایلها در آنجا قرار دارد ، احتمال دارد که فارسی باشد که با تغییر نام پوشه ها به نام انگلیسی مشکل برطرف خواهد شد.
البتته نیازی به تغییر نام خود فایلها نیست و خوشبختانه کدهای نوشته شده ، نام فارسی در فایلها را قبول می کند.
- احتمال فعال نبودن Reference
از آنجا که در کدهای مورد استفاده تغییر گروهی فایلهای اکسل ، از آبجکت fso یا همان File System Oject ماکروسافت استفاده شده ، بهتر است که رفرنس مربوطه فعال باشد .
برای این منظور کارهای زیر را انجام دهید.
- وارد قسمت کدنویسی VBA شوید
- از منوهای بالا گزینه Tools و بعد Reference را انتخاب کنید .
- از ریفرنسهای نمایش داده شده تیک گزینه Microsoft Scripting Runtime رو تیک بزنید
البته ابتدا فایل را تست کنید و اگر کار کرد نیازی به انجام این مورد نیست .