رفع خطای Macro Language Support در Word/Office در پلتفرم filekit
رفع خطا: نیاز به Macro Language Support / Controls در Word
خطا زمانی رخ میدهد که فایل Word یا فرآیند شما شامل VBA Macro، قالبهای macro-enabled، یا کنترلهایی مثل ActiveX باشد اما مؤلفههای مربوطه هنگام نصب Office انتخاب نشده یا توسط سیاستها غیرفعال شده است.
The function you are attempting to run contains macros or content that requires macro language support. When this software was installed, you (or your administrator) chose not to install support for macros or controls
Office میخواهد VBA Runtime / Macro engine یا کنترلها (مثل ActiveX) را بارگذاری کند، اما این قابلیت در نصب فعلی موجود نیست (Not Installed) یا دسترسیاش توسط تنظیمات امنیتی محدود شده است.
علتهای وقوع (Root Causes)
در نصب سفارشی Office ممکن است گزینههای VBA یا Office Shared Features نصب نشده باشند.
این حالت در محیطهای سختگیر (Security Baseline) رایج است.
حتی اگر فایل .docx باشد، ممکن است به یک .dotm یا Add-in ماکرو متصل باشد و هنگام اجرا به VBA نیاز پیدا کند.
برخی کنترلها برای اجرا/نمایش صحیح به مؤلفههای controls نیاز دارند (و گاهی با سیاستهای سختگیرانه بلاک میشوند).
ممکن است VBA نصب باشد اما اجرای آن توسط Group Policy یا Trust Center غیرفعال شده باشد (بهخصوص «Block macros from the Internet»).
روی سرورها گاهی Office بهصورت Click-to-Run با ویژگیهای حداقلی نصب میشود یا به علت سیاستها VBA حذف میشود.
اگر فایل از اینترنت یا WebDAV دریافت شده باشد، ممکن است با سیاستهای جدید Office، ماکروها بهشدت محدود شوند (حتی اگر VBA نصب باشد).
تشخیص سریع (Troubleshooting Checklist)
- پسوند فایل را بررسی کنید: DOCX یا DOCM/DOTM؟اگر
.docmیا.dotmاست، وابستگی به VBA تقریباً قطعی است. اگر.docxاست، به Template/Add-inهای بارگذاریشده یا کنترلها شک کنید. - در Word مسیر: File → Options → Add-insAdd-inهای COM/Templateها را بررسی کنید. گاهی یک Add-in ماکرو باعث فراخوانی VBA میشود.
- Trust Center و سیاست “Block macros…” را چک کنیداگر فایل از WebDAV/اینترنت میآید، ممکن است Office آن را «Untrusted» بداند و ماکرو/کنترلها را مسدود کند.
- وجود VBA در نصب Office را بررسی کنید (Programs & Features / Modify)اگر VBA نصب نباشد، دقیقاً همین پیام نمایش داده میشود.
راهکارها (Solutions)
راهکار 1: نصب/فعالسازی VBA (Macro Language Support)
- در ویندوز: Apps & Features یا Programs and Features → Microsoft Office → Change/Modify
- در حالت Custom/Advanced، گزینههای مرتبط با VBA را روی Run from My Computer قرار دهید:
Visual Basic for ApplicationsOffice Shared Features → VBA(نام دقیق بسته به نسخه متفاوت است)
- نکته: در Office Click-to-Run ممکن است UI متفاوت باشد و مدیریت با ODT/Configuration انجام شود.
راهکار 2: اگر ماکرو لازم نیست، ماکرو/کنترلها را از فایل حذف کنید
- سند را به
.docxواقعی (بدون macro) تبدیل کنید. - Templateهای وابسته (مثل
Normal.dotmیا template سفارشی) را بازبینی کنید. - ActiveX/Controls را حذف یا با Content Controls استاندارد جایگزین کنید.
راهکار 3: تنظیمات Trust Center / Trusted Locations (با رعایت سیاست امنیتی)
فعالسازی گسترده ماکروها ریسک امنیتی دارد. بهتر است فقط مسیرهای کنترلشده (مثلاً share داخلی یا مسیر مشخص WebDAV) را Trusted کنید و امضای دیجیتال ماکروها را الزام کنید.
- برای اسناد داخلی، از Trusted Locations استفاده کنید.
- بهتر: ماکروها را کد-ساین کنید و فقط ماکروهای signed را مجاز کنید.
- اگر فایل “Mark of the Web” دارد، روی همان فایل: Properties → Unblock (در صورت مجاز بودن) بررسی شود.
راهکار 4: بررسی/اصلاح Group Policy
- سیاستهای Office مربوط به VBA/Macros را چک کنید (ADM/ADMX Office).
- سناریوی رایج: Block macros from running in Office files from the Internet
- اگر WebDAV شما از دید Office «Internet Zone» محسوب میشود، باید Zone mapping/Trusted site سیاستگذاری شود.
راهکار 5 (برای سرور/اتوماسیون): وابستگی را از Office حذف کنید
برای پردازش سمت سرور (مثل Aspose)، بهتر است خروجی وابسته به VBA نباشد. Aspose معمولاً ماکروها را اجرا نمیکند (و نباید هم اجرا کند). اگر سند شما برای تولید خروجی به ماکرو متکی است، معماری را بازطراحی کنید: منطق را به سرویس/کد سرور منتقل کنید، نه داخل سند Word.
- ماکروها را به منطق اپلیکیشن منتقل کنید (API/Service).
- اگر هدف فقط ذخیره قالب است، از Content Controls/Bookmarks استفاده کنید نه VBA.
کدهای وضعیت و سرنخهای مفید
# تشخیص نوع فایل (پسوند)
# .docm / .dotm => Macro-enabled
# .docx => باید بدون VBA باشد (مگر وابستگی به template/add-in)
# مسیرهای رایج بررسی دستی:
# Word → File → Options → Trust Center → Trust Center Settings → Macro Settings
# Word → File → Options → Add-insFAQ
چرا برای فایل .docx هم این پیام میآید؟
چون ممکن است سند به یک .dotm وابسته باشد، یا Add-in/Template هنگام باز شدن اجرا شود،
یا کنترلهایی داشته باشد که به مؤلفههای macro/controls نیاز دارند.
بهترین راه امن برای سازمان چیست؟
(۱) VBA را فقط روی سیستمهایی که واقعاً نیاز دارند نصب کنید، (۲) اجرای ماکرو را محدود به signed macros کنید، (۳) مسیرهای Trusted را حداقلی و کنترلشده نگه دارید، (۴) منطق کسبوکار را از سند Word خارج کنید.
رفع خطای Macro Language Support در Word/Office
رفع خطای Macro Language Support در Word/Office
رفع خطای Macro Language Support در Word/Office
رفع خطای Macro Language Support در Word/Office
رفع خطای Macro Language Support در Word/Office
رفع خطای Macro Language Support در Word/Office
رفع خطای Macro Language Support در Word/Office
رفع خطای Macro Language Support در Word/Office