PDA

View Full Version : سوال: فعال کردن ماکرو ها در بخش ماکرو ستینگ؟



mohammadsaleh
جمعه 09 بهمن 1394, 11:47 صبح
سلام
به صورت پیش فرض برنامه آفیس استفاده از ماکروها و کدهای وی بی را در حالت غیر فعال قرار داده است. فعال کردن یا باید به صورت دستی انجام شود یا استفاده از دستوراتی که رجیستری را تغییر می دهد. معمولا در شرکتها و ادارات بزرگ بخش فناوری کنترل را در اختیار داشته و اجازه تغییرات در رجیستری وجود ندارد و باید به شکل دستی این فعال سازی انجام شود.
با توجه به اینکه انجام دستی این کار و راهنمایی کاربران دشوار است آیا می توان راه جایگزین و ساده ای پیدا کرد که با مشکل عدم اجازه تغییر در رجیستری هم مواجه نشویم و کاربران با اجرای یک فایل (شاید دستورات اسکریپت) قبل از اجرای فایل اصلی ماکرو ها را فعال کنند

mohsen1393
جمعه 09 بهمن 1394, 13:07 عصر
سلام شما میتونید با ایجاد یک جدول و قرار دادن یک پیام در ابتدای اجرای برنامه از اون بخاید تا فعال سازی رو به شکل دستی انجام بده.

e601
شنبه 10 بهمن 1394, 16:42 عصر
سلام
در این مورد بر خلاف سایر گزینه های معمول در اکسس و آفیس، باید در رجیستری ویندوز تغییراتی ایجاد بشه که میتونید از کد زیر استفاده کنید. عدد 12 مربوط به آفیس 2007 هست و برای آفیس 2010 باید عدد 14 رو جایگزین کنید (آفیس 2013 رو نمیدونم احتمالا 16). هر چند که میتونید هر دو خط رو اضافه کنید که مطمئن بشید. مثال :

Dim ChangeReg As ObjectSet
ChangeReg = CreateObject("WScript.Shell")
ChangeReg.Regwrite "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\12.0\A ccess\Security\VBAWarnings", "1", "REG_DWORD"
ChangeReg.Regwrite "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\A ccess\Security\VBAWarnings", "1", "REG_DWORD"

اینجوری مطمئن میشید که اگر آفیس کاربر 2007 یا 2010 یا ... بود تغییرات اعمال میشه. من هر دو خط رو قرار دادم و اروری نداد ولی بازم شما با چند ورژن آفیس و چند ویندوز مختلف تست کن تا مطمئن بشی.
برای مشاهده تغییرات هم که میدونید :
files -> options -> trust center -> trust center settings... -> macro settings

e601
شنبه 10 بهمن 1394, 16:47 عصر
البته در پست قبل اون وسط یک فاصله ای بین بک اسلش و Access افتاده که مربوط به ادیتور سایت هست. نباید فاصله داشته باشه...

saeed28541
یک شنبه 11 بهمن 1394, 13:28 عصر
سلام.
یه فایل که این تنظیمات را انجام میده میزارم که از سایت مانتیس دانلود کردم.
با فعال کردن فایل تنظیمات رجیستری را انجام میده.برای آفیس 2007و2010خودم تست کردم مشکلی نداره.

zrf2105
شنبه 20 مهر 1398, 13:27 عصر
عالی بود
ممنون saeed28541 (https://barnamenevis.org/member.php?360746-saeed28541)
برای من آفیس 2016 بود چند تا خط دیگه با شماره 16 و 17 و 18 و 19 به کدهای رجیستری فایل پیوستی اضافه کردم و اجرا کردم، جواب داد
ممنون

Shahramdindoust
سه شنبه 16 دی 1399, 18:55 عصر
سلام
در این مورد بر خلاف سایر گزینه های معمول در اکسس و آفیس، باید در رجیستری ویندوز تغییراتی ایجاد بشه که میتونید از کد زیر استفاده کنید. عدد 12 مربوط به آفیس 2007 هست و برای آفیس 2010 باید عدد 14 رو جایگزین کنید (آفیس 2013 رو نمیدونم احتمالا 16). هر چند که میتونید هر دو خط رو اضافه کنید که مطمئن بشید. مثال :

Dim ChangeReg As ObjectSet
ChangeReg = CreateObject("WScript.Shell")
ChangeReg.Regwrite "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\12.0\A ccess\Security\VBAWarnings", "1", "REG_DWORD"
ChangeReg.Regwrite "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\A ccess\Security\VBAWarnings", "1", "REG_DWORD"

اینجوری مطمئن میشید که اگر آفیس کاربر 2007 یا 2010 یا ... بود تغییرات اعمال میشه. من هر دو خط رو قرار دادم و اروری نداد ولی بازم شما با چند ورژن آفیس و چند ویندوز مختلف تست کن تا مطمئن بشی.
برای مشاهده تغییرات هم که میدونید :
files -> options -> trust center -> trust center settings... -> macro settings

ببخشید توی کدوم رویداد این کدها رو بزاریم؟
و همچنین فرمودین که کدهای VB و ماکروها غیر فعال هستن پس این کدها چجوری کار کنن؟

Shahramdindoust
سه شنبه 16 دی 1399, 19:01 عصر
سلام.
یه فایل که این تنظیمات را انجام میده میزارم که از سایت مانتیس دانلود کردم.
با فعال کردن فایل تنظیمات رجیستری را انجام میده.برای آفیس 2007و2010خودم تست کردم مشکلی نداره.

این پسود داره که برادر میشه پسوردش رو هم لطف بفرمایید
ویرایش
عذر میخام گویا این مطلب مال خیلی وقت پیشه و پسوردش mantis.ir