PDA

View Full Version : امنیت ماکروها



ali_bagheri34
جمعه 13 اردیبهشت 1387, 17:32 عصر
سلام دوستان عزیز
من تازه شروع به کار با اکسس 2007 کردم وقتی اکسس 2007 را باز می کنم در ابتدا یک پیغام مانند تطویر به من می دهد و همچنین می دانم که کجا باید این را تنظیم کنم که دیگر این پیغام نیاید( مانند شکل زیر)
می خواهم این عمل را توسط کد نویسی انجام دهم چگونه می توانم این کار را بکنم

علت اینکه کفتم با کد نویسی می خواهم انجام دهم این است که وقتی برنامه را روی هر دستگاهی نصب می کنم خودم باید این تنظیم را انجام دهم

davood-ahmadi
جمعه 13 اردیبهشت 1387, 19:12 عصر
سلام
برفرض اینکه دستور غیرفعال کردن ماکرو را هم پیدا کردیم .قبل از اینکه هر دستوری اجرا بشه، اگر امنیت ماکرو فعال باشه، هیچ دستوری اجرا نخواهد شد که بتونه دستورات غیرفعال شدن ماکرو را انجام بده.

shaghaghi
سه شنبه 17 اردیبهشت 1387, 15:56 عصر
سلام
این مشکل را در اکسس 2003 با این روش حل کرده ام، فکر کنم برای 2007 هم مفید باشد. هنوز تست نکردم:
یک فرم vb6 را بعنوان صفحه ی معرفی برنامه یا همان Splash با تصویر دلخواه برای برنامه ام ایجاد می کنم ،طوریکه چند ثانیه پس از اجرا این کد را با کمک یک تایمر RUN کند:


Private Sub Timer2_Timer()
Dim appAccess As Object
Set appAccess = CreateObject("Access.Application")
appAccess.AutomationSecurity = 1 ' msoAutomationSecurityLow
appAccess.OpenCurrentDatabase "C:\db1.mdb"
Unload Me
End Sub

ali_bagheri34
دوشنبه 23 اردیبهشت 1387, 09:43 صبح
سلام
این مشکل را در اکسس 2003 با این روش حل کرده ام، فکر کنم برای 2007 هم مفید باشد. هنوز تست نکردم:
یک فرم vb6 را بعنوان صفحه ی معرفی برنامه یا همان Splash با تصویر دلخواه برای برنامه ام ایجاد می کنم ،طوریکه چند ثانیه پس از اجرا این کد را با کمک یک تایمر RUN کند:


Private Sub Timer2_Timer()
Dim appAccess As Object
Set appAccess = CreateObject("Access.Application")
appAccess.AutomationSecurity = 1 ' msoAutomationSecurityLow
appAccess.OpenCurrentDatabase "C:\db1.mdb"
Unload Me
End Sub


سلام
من وی بی 6 را بلد نیستم
این کد را در لود فرم اکسس اعمال کردم ولی درست نشد
آیا در خود اکسس می توان آن کد نویسی کرد

shaghaghi
سه شنبه 24 اردیبهشت 1387, 14:17 عصر
سلام من وی بی 6 را بلد نیستم سلام
اتفاقا راحت تر از آن چیزی است که فکرش را بکنید!
در اولین فرصت نرم افزار vb6 را از روی سی دی آن نصب کنید و فایل ضمیمه را ملاحضه نمایید

این کد را در لود فرم اکسس اعمال کردم ولی درست نشد
خب، این کد از محیط کد نویسی vb کپی شده بود

آیا در خود اکسس می توان آن کد نویسی کرد
خیر، چون پیغام امنیت ماکرو مزاحم باز شدن هر نوع فایل اکسس خواهد بود

ali_bagheri34
چهارشنبه 25 اردیبهشت 1387, 09:51 صبح
سلام
لطفا بکویید چگونه می توانم فایل exe ساخته شده که همان Splash می باشد را از داخل برنامه اکسس اجر اکنم لطفا کمی در این ضمینه توضیح دهید

saeed razaee
چهارشنبه 25 اردیبهشت 1387, 10:00 صبح
با سلام
در 2003 از منوي tools/macro/security/low اين مشكل بر طرف مي شود اما با 2007 من كار نكردم .

shaghaghi
چهارشنبه 25 اردیبهشت 1387, 10:30 صبح
سلام
لطفا بگویید چگونه می توانم فایل exe ساخته شده که همان Splash می باشد را از داخل برنامه اکسس اجر اکنم لطفا کمی در این ضمینه توضیح دهید
سلام
شما قرار است از داخل Splash برنامه اکسس را اجرا کنید نه بالعکس!
و همه جا shortcut آنرا در معرض دید کاربران قرار دهید، گویی که بانک شما همین فایل Splash است.
بعد از نصب Vb فایل Project1 را از داخل فولدر باز کنید وارد محیط کد نویسی Form1 شوید و مسیر نصب فایل اکسس تان را بجای مقدار "C:\db1.mdb" وارد کنید (اگر کاربر زمان نصب امکان انتخاب درایو و فولدر را دارد همان مسیر را بدست بیاورید و بعنوان پارامتر متغیر در نظر بگیرید و بدهید)
وارد محیط طراحی Form1 شوید با تغییر مقدار Interval از Timer1 میزان مکث Splash را بر حسب واحد ms تنظیم کنید. یک عکس از آرم اول برنامه تان تهیه کنید و آنرا در مقدار Picture از فرم وارد کنید و طول و عرض فرمتان را بر حسب اندازه ی آن تنظیم کنید.
در قسمت Icon از فرم هم آیکون دلخواه تان را برای برنامه انتخاب کنید تا در میانبر برنامه مشاهد شود
بعد از اتمام طراحی تان از منوی File گزینه ی Make Project1.exe را انتخاب کنید و فایل exe را با نام هر نام دلخواهی بسازید
برای اینکه فرم Splash اکسس را حین اجرا نبینید یک فایل عکس از نوع bmp با طول و عرض یک پیکسل در مسیر اجرای بانک اکسس و دقیقا همنام با آن بسازید و کپی کنید (این روش در 2003 جواب داده و احتمال قوی در 2007 هم جواب می دهد)

mohammadsaleh
سه شنبه 31 اردیبهشت 1387, 14:12 عصر
اگر كسي به جاي اجراي فرم وي بي شما خود فايل اكسس رو اجرا كنه بازم همون مشكل باقي مي مونه . البته به جاي وي بي ميشه كدها را تو يك اسكريپت بنويسم و بعد به جاي فايل اكسس اسكريپت رو اجرا كنيم كه نتيجش هموني ميشه كه با وي بي نوشتيم با اين تفاوت كه نياز به نصب وي بي 6 هم نيست . البته يكي از دوستان زحمت كشيدن و يا فايل رجيستري را قبلا براي كم كردن سكيوريتي گذاشتند كه با يكبار اجراي اون بعد از هر بار نصب اكسس پيغام اول برنامه حذف ميشه. يك گشت بزني پيداش مي كني.

ali_bagheri34
چهارشنبه 01 خرداد 1387, 15:25 عصر
[QUOTE=mohammadsaleh;520839]اگر كسي به جاي اجراي فرم وي بي شما خود فايل اكسس رو اجرا كنه بازم همون مشكل باقي مي مونه . البته به جاي وي بي ميشه كدها را تو يك اسكريپت بنويسم و بعد به جاي فايل اكسس اسكريپت رو اجرا كنيم كه نتيجش هموني ميشه كه با وي بي نوشتيم با اين تفاوت كه نياز به نصب وي بي 6 هم نيست . البته يكي از دوستان زحمت كشيدن و يا فايل رجيستري را قبلا براي كم كردن سكيوريتي گذاشتند كه با يكبار اجراي اون بعد از هر بار نصب اكسس پيغام اول برنامه حذف ميشه. يك گشت بزني پيداش ميكني.[/QUOTE
]

سلام
لطفا به من بکویید چه کلمه ای را جستجو کنم که سکیوریتی اکسس را با ریجیستر کم کنم

ali_bagheri34
چهارشنبه 01 خرداد 1387, 16:44 عصر
سلام
شما قرار است از داخل Splash برنامه اکسس را اجرا کنید نه بالعکس!
و همه جا shortcut آنرا در معرض دید کاربران قرار دهید، گویی که بانک شما همین فایل Splash است.
بعد از نصب Vb فایل Project1 را از داخل فولدر باز کنید وارد محیط کد نویسی Form1 شوید و مسیر نصب فایل اکسس تان را بجای مقدار "C:\db1.mdb" وارد کنید (اگر کاربر زمان نصب امکان انتخاب درایو و فولدر را دارد همان مسیر را بدست بیاورید و بعنوان پارامتر متغیر در نظر بگیرید و بدهید)
وارد محیط طراحی Form1 شوید با تغییر مقدار Interval از Timer1 میزان مکث Splash را بر حسب واحد ms تنظیم کنید. یک عکس از آرم اول برنامه تان تهیه کنید و آنرا در مقدار Picture از فرم وارد کنید و طول و عرض فرمتان را بر حسب اندازه ی آن تنظیم کنید.
در قسمت Icon از فرم هم آیکون دلخواه تان را برای برنامه انتخاب کنید تا در میانبر برنامه مشاهد شود
بعد از اتمام طراحی تان از منوی File گزینه ی Make Project1.exe را انتخاب کنید و فایل exe را با نام هر نام دلخواهی بسازید
برای اینکه فرم Splash اکسس را حین اجرا نبینید یک فایل عکس از نوع bmp با طول و عرض یک پیکسل در مسیر اجرای بانک اکسس و دقیقا همنام با آن بسازید و کپی کنید (این روش در 2003 جواب داده و احتمال قوی در 2007 هم جواب می دهد)

سلام
از c:\db1.mdb من وی بی رانصب کردم و این کد را اجرا کردم در اکسس 2007 بجای از
c:\db1.accdb
استفاده کردم ولی متاسفانه جواب نگرفتم

لطفا در این خصوص به من کمک کنید

Mahsa Hatefi
جمعه 17 خرداد 1387, 18:02 عصر
دوست من
من هم از كدي كه آقاي سنبله كار توي يكي از همين تاپيك ها داده بودند استفاده ميكردم اما بعد از آمدن 2007 اين كد ها عمل نمي كرد و كساني كه cd برنامه ام را روي 2007 نصب مي كردند تماس مي گرفتند كه پيام macro security را دريافت مي كنند .و من هم مجبور مي شدم راهنمايي كنم كه بصورت دستي ماكرو سيكيوريتي رو تغيير دهند . و يه جايي توي همون تاپيك سوال كردم اما جوابي هم نگرفتم .
اگر جناب سنبله كار التفاتي بفرمايند و كدشون كاملتر كنند تا شايد 2007 را هم ساپورت كنه كار من و شما راه مي افته .
در صورتي كه به جواب رسيدين ممنون مي شم اطلاع دهيد .
ممنون

ali_bagheri34
دوشنبه 03 تیر 1387, 09:43 صبح
سلام
این مشکل را در اکسس 2003 با این روش حل کرده ام، فکر کنم برای 2007 هم مفید باشد. هنوز تست نکردم:
یک فرم vb6 را بعنوان صفحه ی معرفی برنامه یا همان Splash با تصویر دلخواه برای برنامه ام ایجاد می کنم ،طوریکه چند ثانیه پس از اجرا این کد را با کمک یک تایمر RUN کند:


Private Sub Timer2_Timer()
Dim appAccess As Object
Set appAccess = CreateObject("Access.Application")
appAccess.AutomationSecurity = 1 ' msoAutomationSecurityLow
appAccess.OpenCurrentDatabase "C:\db1.mdb"
Unload Me
End Sub



سلام
تا زمانی که خود اکسس 2007 نصب باشد این مورد فعال است و بخوبی کار می کند
و هنگامی که ران تایم اکسس 2007 نصب باشد این کد درست اجرا نمی شود و اصلا برنامه اجرا نمی شود
اگر می توانید در این مورد کمک کنید

e601
شنبه 27 مهر 1387, 00:07 صبح
Private Sub Timer2_Timer()
Dim appAccess As Object
Set appAccess = CreateObject("Access.Application")
appAccess.AutomationSecurity = 1 ' msoAutomationSecurityLow
appAccess.OpenCurrentDatabase "C:\db1.mdb"
Unload Me
End Sub

دوستان بعد از اجرای این کد برنامه اکسس بصورت تمام صفحه(Maximize( اجرا نمیشه !!!!
من با این حالت مشکل دارم چون صفحه اصلی برنامه من باید در وسط صفحه قرار بگیره با این حالت زیاد جالب در نمیاد. ممنون میشم اگه راهنماییم کنید...