نحوه فعال و غیرفعال کردن ماکروها در اکسل
این مقاله به نحوه فعال کردن ماکروها در اکسل می پردازد، اصول اولیه امنیت ماکروها را توضیح می دهد و نحوه تنظیم تنظیمات امنیتی برای اجرای ایمن کدهای VBA را نشان می دهد.
مانند تقریباً هر فناوری، ماکروها را میتوان هم برای اهداف خوب و هم برای اهداف بد استفاده کرد. بنابراین در مایکروسافت اکسل تمامی ماکروها به صورت پیش فرض غیرفعال هستند. این آموزش راه های مختلفی برای فعال کردن ماکروها در اکسل را پوشش می دهد و خطرات احتمالی مرتبط با آن را توضیح می دهد.
2. نحوه فعال کردن ماکروها برای workbooks
2.1. ماکروها را از طریق نوار هشدار امنیتی فعال کنید
2.2. ماکروها را از طریق Backstage view روشن کنید
2.3. آنچه باید در مورد ماکروهای قابل اعتماد در اکسل بدانید!
3. نحوه رفع مشکل “Microsoft has blocked macros”
4. نحوه فعال سازی ماکرو مسدود شده در اکسل
5. نحوه فعال کردن ماکروها برای یک جلسه
6. نحوه فعال کردن ماکروها در اکسل از طریق Trust Center
7. شرح تنظیمات گزینه های Trust Center
8. ماکروها را برای همیشه در یک پوشه مطمئن فعال کنید!
8.1. نکات مهم در ایجاد پوشه(مکان) امن
امنیت ماکرو در اکسل
قبل از اینکه ماکروها را در کاربرگهای خود فعال کنید، مهم است که بدانید چقدر میتوانند خطرناک باشند.
اگرچه کدهای VBA در خودکارسازی کارهای پیچیده و تکراری بسیار موثر هستند، اما از نقطه نظر امنیتی منبع خطر قابل توجهی هستند. یک ماکرو مخربی که ناخواسته اجرا میکنید ممکن است به فایلهای روی هارد دیسک آسیب برساند یا به طور کامل آن ها را حذف کند، دادههای شما را به هم بزند و حتی خود برنامه Microsoft Office شما را خراب کند. به همین دلیل، تنظیمات پیش فرض اکسل غیرفعال کردن همه ماکروها با اعلان است.
چگونه از این خطرات جلوگیری کنیم؟
فقط یک قانون ساده را دنبال کنید: فقط ماکروهای ایمن را فعال کنید
ماکروهایی که خودتان نوشته یا ضبط کرده اید، ماکروهایی از منابع قابل اعتماد و کدهای VBA که بررسی کرده اید و کاملاً درک کرده اید
نحوه فعال کردن ماکروها برای workbooks
دو راه برای فعال کردن ماکروها برای یک فایل خاص وجود دارد: مستقیماً از workbook و از طریق Backstage view.
ماکروها را از طریق نوار هشدار امنیتی فعال کنید
با تنظیمات پیشفرض ماکرو، وقتی برای اولین بار یک workbook حاوی ماکرو را باز میکنید، نوار هشدار امنیتی زرد رنگ در بالای برگه درست زیر riboon ظاهر میشود:
اگر ویرایشگر ویژوال بیسیک در زمانی که فایل را با ماکرو باز می کنید باز باشد، اعلامیه امنیتی Microsoft Excel نمایش داده می شود:
اگر یک منبع قابل اعتماد دارید و مطمئن هستید که همه ماکروها امن هستند، روی دکمه “Enable Content” یا “Enable Macros” کلیک کنید. اینکار ماکروها را فعال می کند و فایل را به یک سند قابل اعتماد تبدیل می کند. دفعه بعد که workbook را باز می کنید، هشدار امنیتی ظاهر نمی شود.
اگر منبع فایل ناشناخته است و نمیخواهید ماکروها را فعال کنید، میتوانید روی دکمه «X» کلیک کنید تا هشدار امنیتی بسته شود. هشدار ناپدید می شود، اما ماکروها غیرفعال می مانند. هر گونه تلاش برای اجرای ماکرو پیام زیر را به همراه خواهد داشت.
اگر به طور تصادفی ماکروها را غیرفعال کرده اید، به سادگی “workbook” را دوباره باز کنید و سپس روی دکمه “Enable Content” در نوار هشدار کلیک کنید.
ماکروها را از طریق Backstage view روشن کنید
راه دیگر برای فعال کردن ماکروها برای یک “workbook”، از طریق نمای Office Backstage است. مراحل زیر را طی کنید:
- روی زبانه File کلیک کنید و سپس روی Info در منوی سمت چپ کلیک کنید.
- در قسمت هشدار امنیتی ، روی Enable Content > Enable All Content کلیک کنید.
مانند روش قبلی، “workbook” شما به یک سند قابل اعتماد تبدیل می شود.
آنچه باید در مورد ماکروهای قابل اعتماد در اکسل بدانید!
فعال کردن ماکروها از طریق نوار پیام یا Backstage view، فایل را به یک سند قابل اعتماد تبدیل می کند. با این حال، برخی از فایل های اکسل را نمی توان به عنوان اسناد قابل اعتماد معرفی کرد. برای مثال، فایلهایی که از یک مکان ناامن مانند پوشه “Temp” باز میشوند، یا تنظیمات طوری تنظیم شده باشند که همه ماکروها را بدون اطلاعرسانی غیرفعال کند. در چنین مواردی، ماکروها فقط برای یک بار فعال می شوند. در باز شدن بعدی فایل، اکسل از شما می خواهد که دوباره محتوا را فعال کنید. برای جلوگیری از این امر، میتوانید تنظیمات “Trust Center” را تغییر دهید یا فایل را در یک مکان مطمئن ذخیره کنید.
هنگامی که یک “workbook ” به یک سند قابل اعتماد تبدیل می شود، هیچ راهی برای عدم اعتماد به آن وجود ندارد. شما فقط می توانید لیست اسناد معتمد را پاک کنید. برای این کار موارد زیر را انجام دهید:
- روی File > Options کلیک کنید.
- در سمت چپ، “Trust Center” را انتخاب کنید و سپس روی تنظیمات “Trust Center” کلیک کنید.
- در کادر محاورهای Trust Center ، در سمت چپ، Trusted Documents را انتخاب کنید.
- روی Clear کلیک کنید و سپس روی OK کلیک کنید .
با این کار همه فایلهای مورد اعتماد قبلی غیرقابل اعتماد میشوند. وقتی چنین فایلهایی را باز می کنید، هشدار امنیتی نمایش داده می شود.
نکته: اگر نمیخواهید هیچ فایل اکسلی را قابل اعتماد کنید، کادر “Disable Trusted Documents” را علامت بزنید.
نحوه رفع مشکل “Microsoft has blocked macros”
در نسخههای جدید اکسل، مایکروسافت رفتار با فایلهای دانلود شده از اینترنت که دارای ماکرو هستند را تغییر داده است. به جای هشدار امنیتی زرد رنگ که امکان فعال کردن فورا محتوا را می دهد، اکنون یک نوار خطر امنیتی با این پیام نمایش می دهد:
Microsoft has blocked macros from running because the source of this file is untrusted
نحوه فعال سازی ماکرو مسدود شده در اکسل
برای رفع انسداد یک ماکرو که توسط مایکروسافت مسدود شده است، این کاری است که باید انجام دهید:
- “workbook” حاوی ماکرو مسدود شده را ببندید.
- در “File Explorer”، به مکانی که “workbook” در آن ذخیره شده است، بروید.
- روی فایل کلیک راست کرده و از منوی گزینه “Properties ” را انتخاب کنید.
- در کادر محاورهای Properties ، کادر Unblock را علامت بزنید و روی OK کلیک کنید.
نحوه فعال کردن ماکروها برای یک جلسه
در برخی شرایط، فعال کردن ماکروها فقط برای یک بار منطقی است. برای مثال، زمانی که یک فایل اکسل با کد VBA دریافت کردید که فقط میخواهید محتویات فایل را بررسی کنید، اما نمیخواهید این فایل را به یک سند قابل اعتماد تبدیل کنید.
مراحل زیر را طی کنید:
- روی برگه File > Info کلیک کنید.
- در قسمت هشدار امنیتی ، روی Enable Content > Advanced Options کلیک کنید.
- در کادر محاورهای گزینههای امنیتی مایکروسافت آفیس ، Enable content for this session را انتخاب کنید و روی OK کلیک کنید.
- ماکروها فعال میشوند.
این روش ماکروها را برای یک بار فعال می کند. وقتی “workbook” را می بندید و دوباره باز می کنید، هشدار دوباره ظاهر می شود و نیاز است ماکروها دوباره فعال شوند.
نحوه فعال کردن ماکروها در اکسل از طریق Trust Center
مایکروسافت اکسل بر اساس تنظیمات ماکرو انتخاب شده در “Trust Center”، جایی که تمام تنظیمات امنیتی اکسل را در آن پیکربندی میکنید، تعیین میکند که آیا کدهای VBA اجرا شوند یا نه.
برای فعال کردن ماکروها در تمام “workbook” های اکسل به طور پیش فرض، این کاری است که باید انجام دهید:
- روی تب File کلیک کنید.
- و سپس روی “Options” در پایین نوار سمت چپ کلیک کنید.
- در قسمت سمت چپ، Trust Center را انتخاب کنید و سپس روی “Trust Center Settings” کلیک کنید.
در کادر محاورهای “Trust Center” ، روی تنظیمات ماکرو در سمت چپ کلیک کنید، “Enable all macros” را انتخاب کنید و روی OK کلیک کنید.
گزینه ای که از طریق “Trust Center ” تنظیم می کنید به تنظیمات پیش فرض جدید ماکرو تبدیل می شود و به صورت سراسری برای همه فایل های اکسل شما اعمال می شود.
“Enabling all macros” ، سیستم شما را در برابر کدهای خطرناک آسیبپذیر میکند.
شرح تنظیمات گزینه های Trust Center
در زیر به طور خلاصه تمام تنظیمات ماکرو را در “Trust Center” توضیح خواهیم داد تا به شما در تصمیم گیری کمک کند:
- Disable all macros without notification – همه ماکروها غیرفعال هستند. هیچ هشداری نشان داده نخواهد شد شما نمی توانید هیچ ماکرویی را اجرا کنید به جز ماکروهایی که در مکان های قابل اعتماد ذخیره شده اند.
- Disable all macros with notification (default) – ماکروها غیرفعال هستند، اما میتوانید آنها را به صورت موردی فعال کنید.
- Disable all macros except digitally signed macros – ماکروهای بدون امضا با اعلان ها غیرفعال می شوند.
- ماکروهای امضا شده دیجیتالی با گواهی ویژه توسط ناشر مورد اعتماد مجاز به اجرا هستند. اگر به ناشر اعتماد نکرده اید، اکسل از شما می خواهد که به ناشر اعتماد کرده و ماکرو را فعال کنید.
- Enable all macros (توصیه نمی شود) – همه ماکروها مجاز به اجرا هستند، از جمله کدهای مخرب.
- دسترسی مطمئن به مدل شی پروژه VBA – این تنظیم دسترسی برنامهای به مدل شی Visual Basic for Applications را کنترل میکند. بهطور پیشفرض غیرفعال است تا برنامههای غیرمجاز نتوانند ماکروهای شما را تغییر دهند یا کدهای مضر خود را تکرار کنند.
هنگام تغییر تنظیمات Trust Center، به یاد داشته باشید که آنها فقط برای Excel اعمال می شوند، نه برای همه برنامه های Office.
ماکروها را برای همیشه در یک پوشه مطمئن فعال کنید!
به جای دستکاری تنظیمات کل ماکرو ، می توانید اکسل را طوری پیکربندی کنید که به مکان های خاصی در رایانه یا شبکه محلی خود اعتماد کند. هر فایل اکسل در یک مکان مطمئن با فعال بودن ماکروها و بدون هشدارهای امنیتی باز می شود، حتی اگر گزینه Disable all macros without notification در تنظیمات Trust Center انتخاب شده باشد . به شما این امکان را میدهد وقتی همه ماکروهای دیگر اکسل غیرفعال هستند، ماکروها را در “workbook” خاص اجرا کنید!
برای مشاهده مکان های مورد اعتماد فعلی یا افزودن مکان جدید، این مراحل را انجام دهید:
- روی File > Options کلیک کنید.
- در قسمت سمت چپ، Trust Center را انتخاب کنید و سپس روی Trust Center Settings کلیک کنید.
- در کادر محاورهای Trust Center، پوشه(مکان های) مورد اعتماد را در سمت چپ انتخاب کنید. لیستی از پوشه های مورد اعتماد پیش فرض را مشاهده خواهید کرد. این پوشه ها برای عملکرد صحیح افزونهها، ماکروها و قالبهای اکسل مهم هستند و نباید تغییر داده شوند. از نظر فنی، میتوانید “workbook” خود را در یکی از مکانهای پیشفرض اکسل ذخیره کنید، اما بهتر است یک پوشه را برای خود ایجاد کنید.
- برای تنظیم مکان مورد اعتماد خود، روی افزودن مکان جدید کلیک کنید.
- در کادر Trusted Locations ، موارد زیر را انجام دهید:
- روی دکمه Browse کلیک کنید تا به پوشه ای بروید که می خواهید به عنوان یک مکان امن تبدیل کنید.
- اگر مایلید هر زیرپوشه ای از پوشه انتخاب شده نیز قابل اعتماد باشد، کادر زیر “ubfolders of this location are also trusted box” را علامت بزنید.
- روی OK کلیک کنید.
- دوبار روی OK کلیک کنید تا فرم های باز، بسته شوند.
عالیه! اکنون می توانید “workbook” های ماکرو دار خود را در پوشه مورد اعتماد قرار دهید و در مورد تنظیمات امنیتی اکسل خود را خسته نکنید.
نکات مهم در ایجاد پوشه(مکان) امن
لطفا در انتخاب مکان مورد اعتماد بسیار مراقب باشید. از آنجایی که اکسل به طور خودکار همه ماکروها را در همه wokbook هایی که در مکانهای قابل اعتماد ذخیره میشوند فعال میکند، آنها به نوعی به حفرههایی در سیستم امنیتی شما تبدیل میشوند که در برابر ویروسهای ماکرو و حملات هک آسیبپذیر هستند. هرگز هیچ پوشه موقتی را به منبع قابل اعتماد تبدیل نکنید.
اگر به اشتباه پوشه خاصی را به لیست مکان های مورد اعتماد اضافه کرده اید، آن را انتخاب کرده و روی دکمه حذف کلیک کنید.
چگونه ماکروها را با برنامه VBA فعال کنیم
در انجمن های اکسل، بسیاری از مردم می پرسند که آیا می توان ماکروها را به صورت برنامه نویسی در باز کردن یک workbook فعال کرد و قبل از خروج، آنها را غیرفعال کرد. پاسخ فوری “نه، امکان پذیر نیست” است.
از آنجایی که امنیت ماکرو برای امنیت اکسل حیاتی است، مایکروسافت هر کد VBA را طوری طراحی کرده که تنها با کلیک کاربر فعال شود.
با این حال، وقتی مایکروسافت دری را میبندد، کاربر پنجرهای را باز میکند!! به عنوان یک راهحل، شخصی راهی برای وادار کردن کاربر به فعال کردن ماکروها با نوعی «splash screen» یا «instruction sheet» پیشنهاد کرد. روش کار به شرح زیر است:
شما کدی می نویسید که همه کاربرگ ها به جز یکی رابه طور کامل مخفی می کند ( very hidden). صفحه قابل مشاهده (splash screen) چیزی مانند “لطفا ماکروها را فعال کنید و فایل را دوباره باز کنید” می گوید یا دستورالعمل های دقیق تری ارائه می دهد.
اگر ماکروها غیرفعال باشند، کاربر فقط می تواند کاربرگ “Splash Screen” را ببیند. همه صفحات دیگر بسیار پنهان هستند.
اگر ماکروها فعال باشند، کد همه برگهها را آشکار میکند و پس از بسته شدن کتاب کار دوباره آنها را بسیار پنهان میکند.
نحوه غیرفعال کردن ماکروها در اکسل
همانطور که قبلا گفتیم، تنظیمات پیش فرض اکسل این است که ماکروها را با اعلان غیرفعال می کند و به کاربران اجازه می دهد در صورت تمایل آنها را به صورت دستی فعال کنند. اگر میخواهید همه ماکروها را بیصدا و بدون هیچ اعلان غیرفعال کنید، گزینه “Disable all macros without notification” را در Trust Center انتخاب کنید.
- در اکسل خود، روی تب File > Options کلیک کنید.
- در قسمت سمت چپ، Trust Center را انتخاب کنید و سپس روی Trust Center Settings کلیک کنید.
- در منوی سمت چپ، تنظیمات ماکرو را انتخاب کنید ، Disable all macros without notification را انتخاب کنید و روی OK کلیک کنید.
ماکرو جزء جدایی ناپذیری از اکسل است که برای کار با آن نیاز است با امنیت آن آشنا شویم. با ترتیب موارد گفته شده می توانید ماکروها را در اکسل فعال و غیرفعال کنید. از شما برای خواندن این مقاله تشکر می کنیم.