PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : پکیج آموزشی ایجاد فایل چندکاربره با سطح دسترسی مشخص



~M*E*H*D*I~
2014/06/11, 20:15
http://exceliran.com/up/up/485e5946f0a440fbc3e7af4a0d00df3a.png (http://www.exceliran.com)


http://exceliran.com/up/up/e67f3c4939ecb29922882128bf887eae.jpg (http://www.exceliran.com)
(http://www.exceliran.com)
سطح دسترسی چیست

سطح دسترسی مجوزی است که از جانب مدیر یک سیستم به کاربران سیستم جهت انجام امور جاری داده می شود ، این مجوز ممکن است منحصر به فرد بوده و یا بین چند نفر مشترک باشد.
هدف از ایجاد سطح دسترسی

اهداف گوناگونی برای ایجاد سطح دسترسی می توان در نظر گرفت اما مهم ترین و رایج ترین هدف شامل دو هدف عمده است



[*=right]ایجاد امنیت اطلاعات
[*=right]جلوگیری از تداخل وظایف


مهمترین تهدید برای اطلاعات یک سیستم سرقت و یا تغییرات ناخواسته توسط افراد غیر مطلع است ، لذا ساز کاری جهت حفظ امنیت اطلاعات می بایست اتخاذ گردد.
تداخل وظایف نیز از تهدیداتی است که متوجه یک سیستم اطلاعاتی است ، دسترسی افراد به حیطه های غیر مرتبط باعث ایجاد سردرگمی و بروز مشکلات گوناگونی می گردد لذا لازم است هر کس تنها به بخشی از اطلاعات مرتبط با حیطه وظایف خود دسترسی داشته باشد.

پکیج آموزشی سطح دسترسی در اکسل شامل سه بخش زیر است:


[*=right]مقدمات VBA
[*=right]کار با مسیج باکس ها
[*=right]ایجاد سطح دسترسی در اکسل



سر فصل های این پکیج عبارتند از:
VBA چیست؟
ماکرو چیست؟
تعریف سابروتین در برنامه نویسی
درج یک ماژول و سابروتین در VBA
ذخیره فایل اکسل حاوی برنامه
باز کردن فایل حاوی برنامه ویژوال بیسیک (ماکرو)

اجرای یک برنامه نوشته شده در محیط VBA اکسل
تعریف متغیر
تعریف متغیرضمنی (Implicit Declaration) :
تعریف صریح متغیر ( Explicit Declaration) :
مفهوم متغیر
حلقه سازی
حلقه For --- Next
حلقه For Each
ساختار حلقه های شرطی(Do-Loop)
ساختار تصمیم یا شرطی IF
دستور Select Case
شکل کلی دستور Select Case
کار با سلولها و ناحیه ها(Cells and Ranges objects)
استفاده از نماد گذاری A1
ویژگیCells و روش آدرس دهی مختصاتی
نحوه ارجاع به سطرها و ستونها
ارجاع به Rangeهای نامگذاری شده
ارجاع به تمامی*سلولهای یک شیت


سطح دسترسی چیست
هدف از ایجاد سطح دسترسی
امنیت در اکسل
ایجاد فایل
ایجاد فرم
مخفی کردن کاراکتر های پسورد
تنظیم کمبوباکس حاوی نام های کاربری
محافظت از شیت ها
ایجاد دسترسی
فراخوانی فرم
بروزرسانی پسورد
ایجاد دسترسی مدیریتی
ایجاد پنل مدیریت
دسترسی مدیریتی به نام کاربران
دسترسی مدیریتی به کل برنامه
ایجاد کلید Login جهت مدیریت
کنترل تعداد کاراکتر کلمه عبور
حذف و ایجاد کاربر جدید
http://exceliran.com/up/up/20820a2dd656900747792f8316afab4c.jpg (http://www.exceliran.com)


http://exceliran.com/up/up/3c1661263fff0a06ebdc1eebd18f52b2.jpg (http://www.exceliran.com)

http://exceliran.com/up/up/ee8fddaee9bca1338ca56b0ea64ea750.jpg (http://www.exceliran.com)


این پک آموزشی را می توانید به همراه فایل نمونه از لینک زیر تهیه کنید


آموزش ایجاد فایل چندکاربره با سطح دسترسی مشخص

بخش های ابتدایی این مبحث را در لینک زیر مطالعه کنید
آموزش ایجاد سطح دسترسی در اکسل (http://forum.exceliran.com/showthread.php?t=4446)

تهیهکننده : مهندس مهدی وطن پرست

Amir Ghasemiyan
2014/07/13, 23:25
دوستان زيادي اين سوال براشون مطرح بوده كه رمزهاي عبور رو از كجا بايد پيدا كنن.
خدمت شما عزيزان عرض كنم كه رمزهاي عبور يوزرها در شيت Protectdata تعبيه شده و همچنين رمز عبور ادمين در كدهاي فرم AdminPassword بر روي ايونت CommandButton1_Click قرار دارد.


User1 : 1
User2 : 12345
User3 : 123
Admin : Adminpass

mrexcel
2014/08/09, 20:55
سر کلاس بودم تلفن زنگ زد و قرار یک ملاقات گذاشت یکی از دوستانی که کلاس اکسل را امده بود میخواست بابت این پکیج تشکر کنه انقدر از ان تعریف کرد که خودم هم تصمیم گرفت مطالعه کنم ان را در واقعا این تشکر از تهیه کننده پکیج استاد وطنپرست بود

mrexcel
2014/11/02, 10:59
در طی مدتی که این فایل روی اینترنت بوده گرچه انتظار داشتم این فایل به دلیل اینکه مطالب آموزشی آن خیلی سطح بالا میباشد استقبال زیادی نداشته باشد . ولی استقبال بسیار خوبی از این بسته اموزشی صورت گرفته است . که مطمئنا ایمیل های ارسالی بعد از خرید دوستان نیز نشانگر کیفیت خوب این محصول میباشد . برای تهیه کننده این بسته آموزشی آرزوی موفقیت روز افزون داریم و امیدواریم بزودی محصولات و بسته های جدید آموزشی را در این فروشگاه ببینیم .

dina1355
2014/11/03, 10:37
آموزش ایجاد فایل چندکاربره با سطح دسترسی مشخص را امکان دارد توضیح بدین

dina1355
2014/11/03, 14:16
بنده در فروشگاه هم گشتم آموزش نبود ، پس لینکش کجاست

YEJAMOMA
2014/11/26, 10:08
با سلام و تشکر از محصول خوبتون

به دستم رسید

فقط سوالاتی داشتم

اول این که مثلا وقتی وارد یوزر یک میشی دو تا شیت میبینی یکی خود یوزر و دیگری خوش آمدید من میخوام تعداد بیشتری شیت برای یوزر یک داشته باشم

البته وقتی وارد یوزر یک میشم شیت های بیشتری درست میکنم ولی وقتی یک بار بیرون میرم دیگه قابل رویت نیستند خواهش میکنم منو راهنمایی کنید

با تشکر.

YEJAMOMA
2014/11/26, 13:50
با سلام
در ارتباط با استفاده از نرم افزار سوالاتی داشتم
اول این که زمانی که مثلا وارد یوز یک میشیم فقط شیت user1 و wellcome قابل رویت هستند من میخوام علاوه بر یوزر یک شیت های دیگه ای داشته باشم که متعلق به یوزر یک باشن و فقط با ورود یوزر یک اون شیت ها قابل مشاهده باشن
و دوم این که علاوه بر شیت wellcome نیز بتونم شیت های دیگه ای داشته باشم که که برای همه قابل رویت باشه
مثلا من میخوام واحدهای مختلف کارخانه شاخص هایی را برای من محاسبه کنن که مستلزم اینه که هر یوزر شیت های دیگه ای داشته باشه (سوال اول) و خروجی تمام شاخص ها به صورت یک داشبورد برای همه قابل مشاهده باشه (سوال دوم)
ممنون میشم راهنمایی بفرمایید

~M*E*H*D*I~
2014/11/26, 13:53
با سلام
در ارتباط با استفاده از نرم افزار سوالاتی داشتم
اول این که زمانی که مثلا وارد یوز یک میشیم فقط شیت user1 و wellcome قابل رویت هستند من میخوام علاوه بر یوزر یک شیت های دیگه ای داشته باشم که متعلق به یوزر یک باشن و فقط با ورود یوزر یک اون شیت ها قابل مشاهده باشن
و دوم این که علاوه بر شیت wellcome نیز بتونم شیت های دیگه ای داشته باشم که که برای همه قابل رویت باشه
مثلا من میخوام واحدهای مختلف کارخانه شاخص هایی را برای من محاسبه کنن که مستلزم اینه که هر یوزر شیت های دیگه ای داشته باشه (سوال اول) و خروجی تمام شاخص ها به صورت یک داشبورد برای همه قابل مشاهده باشه (سوال دوم)
ممنون میشم راهنمایی بفرمایید

ذیل همین مطلب به پرسش شما جواب خواهم دادم از همین تاپیک پیگیر باشید لطفا

~M*E*H*D*I~
2014/11/26, 13:55
آموزش ایجاد فایل چندکاربره با سطح دسترسی مشخص را امکان دارد توضیح بدین

در ابتدای متن توضیحات لازم داده شده اگر ابهامی دارید دقیق سوال کنید تا جواب بدم

Amir Ghasemiyan
2014/11/26, 14:02
بنده در فروشگاه هم گشتم آموزش نبود ، پس لینکش کجاست

دوست عزيز شما پكيج رو دريافت كنيد هم نمونه در اختيارتون قرار ميگيره هم آموزش قدم به قدم ساخت

~M*E*H*D*I~
2014/11/26, 20:33
با سلام و تشکر از محصول خوبتون

به دستم رسید

فقط سوالاتی داشتم

اول این که مثلا وقتی وارد یوزر یک میشی دو تا شیت میبینی یکی خود یوزر و دیگری خوش آمدید من میخوام تعداد بیشتری شیت برای یوزر یک داشته باشم

البته وقتی وارد یوزر یک میشم شیت های بیشتری درست میکنم ولی وقتی یک بار بیرون میرم دیگه قابل رویت نیستند خواهش میکنم منو راهنمایی کنید

با تشکر.

وقتی وارد محیط VBA میشی اگر بر روی thisworkbook دابل کلیک کنی کد زیر رو میبینی




Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sheet As Worksheet
Application.DisplayAlerts = False
For Each sheet In Worksheets
Select Case sheet.Name
Case "Welcome"
Case Else
Sheets(sheet.Name).Visible = xlVeryHidden
End Select
Next sheet
If Me.Saved = False Then Me.Save
ActiveWorkbook.Close
End Sub

این کد باعث میشه کلیه شیت ها به جز welcome با بسته شدن فایل هاید بشن پس اگر شیت های دیگه ای ایجاد کنی و اسامی اونهارو در select case استثناء کنی اون شیت ها مخفی نخواهند شد.

برای سوال بعد اگر در محیط vba فرم userform1 رو باز کنی و بر روی کلید login دابل کلیک کنی کد های زیر رو مشاهده می کنی




Private Sub CommandButton1_Click()
Dim PassWord As String
Dim user As String
user = ComboBox1.Value
PassWord = TextBox1.Value
If user = "" Or PassWord = "" Then
MsgBox "Enter name and password"
Exit Sub
End If

If PassWord = WorksheetFunction.VLookup(user, Range("List"), 2, 0) Then
Sheets(user).Visible = xlSheetVisible
MsgBox "Password Accepted"
UserForm1.Hide
ElseIf counter <= 3 Then
MsgBox "Try Again"
counter = counter + 1
TextBox1.Value = ""
Exit Sub
Else
MsgBox "Password Not Accepted, Workbook will close"
Unload Me
ThisWorkbook.Close
End If
ComboBox1.Value = ""
TextBox1.Value = ""
End Sub


این دو خط در کد بالا ابتدا صحت پسورد رو چک میکنه و در صورت صحیح بودن پسورد شیت مورد نظر رو unhide میکنه



If PassWord = WorksheetFunction.VLookup(user, Range("List"), 2, 0) Then
Sheets(user).Visible = xlSheetVisible


اگر قرار باشه هر یوزر شیت های بیشتری داشته باشه چیزی که به ذهنم میرسه در حال حاضر اینه که هر یوزر یک شیت اصلی داشته باشه که با گرفتن پسورد اون شیت باز بشه و در هر شیت یک کلید دیگه تعبیه بشه برای باز کردن یک فرم ثانویه به نحوی که با گرفتن پسورد ثانویه شیت های بعدی رو براش باز کنه

راه حل دیگه ای که به ذهنم میرسه اینه که شیت های هر کاربر به صورتی نامگذاری بشه که حاوی کد خاصی باشه به نحوی که با نام کاربری مرتبط باشه و حین چک کردن پسورد بشه اون کد رو از نام جدا کرد و با نام کاربری مقایسه کرد و بعد شیت های مربوطه رو باز کرد البته این راه رو باید تست کرد و شاید کدنویسی پیچیده ای داشته باشه

roohan
2014/11/28, 23:21
با سلام خدمت دوستان سوالی برای من پیش اومده که یک جایی در متن کتاب آموزشی که ایجاد کلید login برای مدیریت نوشته در محیط برنامه نویسی این کد ها را وارد کنید که برای من که در برنامه نویسی مبتدی هستم گنگ بود و متوجه نشدم که دقیقا کجای محیط باید وارد شود عکس زیر قسمتی از کتاب
5093

YEJAMOMA
2014/11/29, 16:21
در ارتباط با سوال یک من این کار ا کردم ولی نشد میشه یک نمونه انجام بدید
و در مورد سوال دوم هم درست متوجه نشدم مثلا برای مورد اول میشه یک نمون مثال بزنید
با تشکر واقعا شرمندم :o:uncomfortableness:

roohan
2014/11/29, 22:33
51035103
سلام این قسمت که نوشته در محیط برنامه نویسی دقیقا کدام قسمت باید کد ها را وارد کنم من فعلا به این مرحله رسیدم و دقیقا نمیدونم چکار باید کرد

roohan
2014/12/01, 22:35
به من گفتند اینجا من جواب سوالم رو میگیرم ولی کسی جوابی نداده ؟؟؟؟:(

Amir Ghasemiyan
2014/12/02, 08:48
به من گفتند اینجا من جواب سوالم رو میگیرم ولی کسی جوابی نداده ؟؟؟؟:(

جناب وطن پرست هر وقت آنلاين بشن حتما جواب شما رو خواهند داد دوست عزيز
ممنون از صبرتون

~M*E*H*D*I~
2014/12/02, 09:08
51035103
سلام این قسمت که نوشته در محیط برنامه نویسی دقیقا کدام قسمت باید کد ها را وارد کنم من فعلا به این مرحله رسیدم و دقیقا نمیدونم چکار باید کرد

درود
تو پکیج یک فایل مقدماتی آموزشی VAB هست که برای کسانی که هیچ آشنایی با VBA ندارند راهگشاست اون رو مطالعه کنید ابتدا.

در خصوص سوال

وقتی یک فایل اکسل رو باز کنید با فشردن Alt+f11 وارد محیط VBA خواهید شد
5137

با فرض اینکه بخوایم برای یک فرم برنامه نویسی کنیم

یک فرم شامل اجزای مختلفی میشه خود فرم اصلی ، باتن ها ،کمبو باکس و....

وقتی بخوایم برای هر کدوم از این اجزا برنامه بنویسیم روش دابل کلیک میکنیم فرضا بر روی کلید login دابل کلیک کنیم وارد محیط برنامه نویسی میشیم و هر جزء یک ساب روتین (sub end sub ) با رویداد پیشفرض خواهد داشت



Private Sub CommandButton1_Click()
end sub


کدمون رو بین sub و end sub مینویسیم یا کپی پیست میکنیم

امیدوارم سوال پاسخ داده شده باشه

~M*E*H*D*I~
2014/12/02, 09:16
در ارتباط با سوال یک من این کار ا کردم ولی نشد میشه یک نمونه انجام بدید
و در مورد سوال دوم هم درست متوجه نشدم مثلا برای مورد اول میشه یک نمون مثال بزنید
با تشکر واقعا شرمندم :o:uncomfortableness:

فایل پیوست از شیت هایWelcome ،A -B-C-D تشکیل شده که در کد سه شیت اول استثنا شده و بقیه مخفی شده
برای سوال دوم هم در اولین فرصت کد رو بازنویسی میکنم

mokaram
2014/12/04, 09:53
با سلام
تو این پکیج به فایل PDF هست که وقتی باز میشه تصویر زیر میاد منتها هر فایل PDF دیگه ای که باز میکنم هیچ مشکلی نداره و نمایش میده ولی فقط این فایل اینجوریه
یعنی باید نرم افزارمو عوض کنم ؟؟/
مشکل از چی می تونه باشه ؟:confused:

5169

Amir Ghasemiyan
2014/12/04, 10:03
با سلام
تو این پکیج به فایل PDF هست که وقتی باز میشه تصویر زیر میاد منها هر فایل PDF دیگه ای که باز میکنم هیچ مشکلی نداره و نمایش میده ولی فقط این فایل اینجوریه
یعنی باید نرم افزارمو عوض کنم ؟؟/
مشکل از چی می تونه باشه ؟:confused:

5169



شما بايد از adobe reader ورژن جديد استفاده كني. فكر ميكنم اين نرم افزارت اصلا ادوب نيست. درسته؟

mokaram
2014/12/04, 10:16
شما بايد از adobe reader ورژن جديد استفاده كني. فكر ميكنم اين نرم افزارت اصلا ادوب نيست. درسته؟

اسم نرم افزار Nitro Reader هست که همون کار Adobe Reader را می کنه . من تو باز کردن باقی فایل های پی دی اف مشکلی ندارم
فکر کنم آقا مهدی می خواد اذیتم کنه :o

Amir Ghasemiyan
2014/12/04, 10:33
اسم نرم افزار Nitro Reader هست که همون کار Adobe Reader را می کنه . من تو باز کردن باقی فایل های پی دی اف مشکلی ندارم
فکر کنم آقا مهدی می خواد اذیتم کنه :o

خوب كاري ميكنه پس ;)
حالا وقتي اين نرم افزاراي درپيت رو پاك كردي يه ادوب ريدر خوشكل نصب كردي حالت مياد سرجاش :p

roohan
2014/12/04, 17:17
با سلام
تو این پکیج به فایل PDF هست که وقتی باز میشه تصویر زیر میاد منتها هر فایل PDF دیگه ای که باز میکنم هیچ مشکلی نداره و نمایش میده ولی فقط این فایل اینجوریه
یعنی باید نرم افزارمو عوض کنم ؟؟/
مشکل از چی می تونه باشه ؟:confused:

5169



نه این به خاطر این هست که فایل طراحی شده با نرم افزار adobe acrobat x درست شده و شما اگر نرم افزار adobe acrobat را داشته باشید میتونید بدون مشکل از فایل استفاده کنید فقط نرم افزار reder نباشه خود آکروبات باشه

Amir Ghasemiyan
2014/12/04, 17:36
نه این به خاطر این هست که فایل طراحی شده با نرم افزار adobe acrobat x درست شده و شما اگر نرم افزار adobe acrobat را داشته باشید میتونید بدون مشکل از فایل استفاده کنید فقط نرم افزار reder نباشه خود آکروبات باشه

با ادوب ريدر هم ميشه فايل رو باز كرد دوست عزيز. فقط بايد ورژنش بالا باشه

roohan
2014/12/05, 08:24
درود
تو پکیج یک فایل مقدماتی آموزشی VAB هست که برای کسانی که هیچ آشنایی با VBA ندارند راهگشاست اون رو مطالعه کنید ابتدا.

در خصوص سوال

وقتی یک فایل اکسل رو باز کنید با فشردن Alt+f11 وارد محیط VBA خواهید شد
5137

با فرض اینکه بخوایم برای یک فرم برنامه نویسی کنیم

یک فرم شامل اجزای مختلفی میشه خود فرم اصلی ، باتن ها ،کمبو باکس و....

وقتی بخوایم برای هر کدوم از این اجزا برنامه بنویسیم روش دابل کلیک میکنیم فرضا بر روی کلید login دابل کلیک کنیم وارد محیط برنامه نویسی میشیم و هر جزء یک ساب روتین (sub end sub ) با رویداد پیشفرض خواهد داشت



Private Sub CommandButton1_Click()
end sub


کدمون رو بین sub و end sub مینویسیم یا کپی پیست میکنیم

امیدوارم سوال پاسخ داده شده باشه

یعنی مهم نیست در کجای برنامه این کدها را وارد کنیم؟

roohan
2014/12/05, 08:27
با سلام سوالی در رابطه با عکس صفحه شروع که چطوری میتونم برای فایلم یک عکس اختصاص بدم و اون رو مانند فایل نمونه غیرقابل حرکت و تعغیر کتم
2 اینکه ایکن هایی که روی کامند ها هست رو آموزش و توضیحی ندادید و میشه توضیح بدید که چطوری میشه تصاویر را اعمال کرد

~M*E*H*D*I~
2014/12/06, 09:18
یعنی مهم نیست در کجای برنامه این کدها را وارد کنیم؟

ببینید کد نویسی VBA برای سه بخش کاربرد داره شیت ها ، module ها و فرم ها ، شما بایدبرای فرم ها کدنویسی کنید، شما دقت نکردید به عرایض بنده گفتم بر رو دکمه login دابل کلیک کنید تا وارد محیط برنامه نویسی شده و کد مورد نظر رو بنویسید

~M*E*H*D*I~
2014/12/06, 09:22
با سلام سوالی در رابطه با عکس صفحه شروع که چطوری میتونم برای فایلم یک عکس اختصاص بدم و اون رو مانند فایل نمونه غیرقابل حرکت و تعغیر کتم
2 اینکه ایکن هایی که روی کامند ها هست رو آموزش و توضیحی ندادید و میشه توضیح بدید که چطوری میشه تصاویر را اعمال کرد

در module1 کد زیر نوشته شده


Sub Protect()

Set oSheet = ActiveSheet

For Each oShape In oSheet.Shapes

oShape.Locked = True

Next oShape

oSheet.Protect PassWord:="SECRET", DrawingObjects:=True, Contents:=True, Scenarios:=True

End Sub

باید کد رو غیر فعال کنید یا پسورد رو که SECRET هست وارد کنید تا قفل باز بشه بعد تصویر رو عوض کنید بعد کد رو اجرا کنید

برای سایر موارد هم سلیقه ای هست بنابراین نیازی به آموزش نداره هر کس میتونه سلیقه خودش رو اعمال کنه

~M*E*H*D*I~
2015/01/04, 07:36
یکی از دوستان سوالات زیر رو مطرح کردن


سلام خسته نباشيد

با تشكر از فايل مفيدي كه تهيه كرديد من با نام كاربري gha3emi برنامه (فايل اكسل چند كاربره با سطح دسترسي مشخص) رو از سايت شما دريافت كردم اماخواستم بگم 1- در خطوطي كه از دستور vlookup استفاده شده برنامه ايراد داره چون اگه مثلا شيت 1165 موجود باشه و نام كاربري 1165 باشه ايراد ميگيره 2- گزينه حذف كاربر هم كار نمي كنه كه من نتونستم درستش كنم3- يوزرهاي (Uadminpass,Tadminpass) به صورت const تعريف شده برنامه با اين دو تا user كار نمي كنه4-دكمه خروج در شيت welcom برنامه را به درستي نمي بندد و باعت باز شدن فايل به صورت ريكاوري مي گردد
****ولي از همه مهمتر حذف كاربره كه اگه بشه درست بشه ممنون ميشماگه بتونيد راهنماييم كنيد كه چه جوري درستش كنم يا يك فايل كاملتر رو برام ايميل كنيد ممنون ميشمچون اين فايل با كمي تغييرات تو محيط كار خيلي به كار من مياد

سوال 1 که اصلا چنین چیزی اتفاق نمیفته ما یک شیت داریم برای ذخیره یوزرنیم ها و پسورد ها که تابع vlookup برای اون نوشته شده و اصلا مجاز نیستیم با نام یک کاربر یکسان در نظر بگیریم
مورد دوم تست کردم کار میکنه ، چه پیغام خطایی میده دقیقا؟
مورد سوم اون دوتا متغیر پسور رو ذخیره میکنن کاربر نیستند در واقع با یکی از دوتا پسورد ادمین به یوزر ها و با دومی به کل فایل دسترسی پیدا میکنه
مورد 4 رو هم باز مثل 2 کار میکنه ، ورژن اکسل چی هست؟

سایر دوستان هم به این اشکالات برخوردن یا نه؟

حسام بحرانی
2015/01/04, 18:56
لينك تهيه ي پكيج رو پيدا نكردم
لطفا راهنمايي كنيد
سلام،
هر کدام از صفحات انجمن را که باز کنید، برخی از محصولات فروشگاه معرفی شده.
بالای همین صفحه، اون گوشه سمت چپ، "ایجاد فایل با سطح دسترسی متفاوت" نمایان است. با کلیک بر روی آن می توانید برای تهیه پکیج اقدام نمایید.
این هم لینک مستقیم:
آموزش ایجاد فایل چندکاربره با سطح دسترسی مشخص (http://www.exceliran.com/downloads/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D9%81%D8%A7%DB%8C%D9%84-%DA%86%D9%86%D8%AF%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D 9%87-%D8%A8%D8%A7-%D8%B3%D8%B7%D8%AD-%D8%AF%D8%B3%D8%AA%D8%B1/)
موفق باشید.

mohamadali110
2015/01/06, 11:58
یکی از دوستان سوالات زیر رو مطرح کردن



سوال 1 که اصلا چنین چیزی اتفاق نمیفته ما یک شیت داریم برای ذخیره یوزرنیم ها و پسورد ها که تابع vlookup برای اون نوشته شده و اصلا مجاز نیستیم با نام یک کاربر یکسان در نظر بگیریم
مورد دوم تست کردم کار میکنه ، چه پیغام خطایی میده دقیقا؟
مورد سوم اون دوتا متغیر پسور رو ذخیره میکنن کاربر نیستند در واقع با یکی از دوتا پسورد ادمین به یوزر ها و با دومی به کل فایل دسترسی پیدا میکنه
مورد 4 رو هم باز مثل 2 کار میکنه ، ورژن اکسل چی هست؟

سایر دوستان هم به این اشکالات برخوردن یا نه؟


براي منم قسمت حذف كاربر خطا ميده

از اين قسمت ايراد ميگيره
[CODE][Selection.Delete Shift:=xlUp

/CODE]

در ضمن يك پيشنهاد داشتم

اينكه براي حذف كاربر نام كاربري به صورت كمبو باكس ليست بشه (عين يوزرم فرم يك ) تا مدير بتونه ليستشونو ببينه

ali.b
2015/01/07, 10:47
سلام
من از این پکیج استفاده کردم و خیلی عالی بود اما ی مشکل هست زمانی که فایل رو به حالت share میبرم بعد از اینکه نام کاربری و رمز عبور رو انتخاب میکنم حتما باید دکمه ضربدر قرمز بالای فرم رو بزتنم تا فایل اجرا بشه اما در حات عادی درست کار میکنه؟
چکار کنم چنین مشکلی پیش نیاد>

gha3emi
2015/01/12, 11:38
سلام
من يك چند تا ماكرو به اين برنامه اضافه كردم و اون رو share كردم بعد از اينكه فايل رو در حالت ahare باز مي كنم و تغييرات رو اعمال مي كنم وقتي اكسل رو مي بندم با پيغام project is unviewable رو به رو مي شم كه اين پيغام به تعداد ماكروها (6 بار) نمايش داده ميشه
ضمن اينكه حذف كاربر هم كار نمي كنه (آفيس 2007 هم استفاده مي كنم)
فايل رو به پيوست براتون ارسال مي كنم اگه بتونيد راهنماييم كنيد كه چه جوري اين ايراد رو برطرف كنم ممون ميشم ضمن اينكه چه جوري تنظيمات مربوط به ماكرو رو به صورت اتوماتيك در كلاينتهاي مقصد اعمال كنم كه نيازي به تنظيم دستي نباشه
و آخر اينكه چه جوري يك بخش از اطلاعات كل sheet ها رو كه ما مشخص مي كنيم locked بشه مثلا سطر اول همه sheet ها و ...

mohamadali110
2015/01/12, 14:08
يه مشكلي پيدا كردم لطفا بررسي بفرماييد

وقتي فرد با نام مثلا user1 وارد سيستم ميشود و تغييرات لازم را در فرم لحاظ ميكند و سپس دكمه سيو را از بالاي صفحه ميزند و به صفحه welcome بازميگردد و سپس دكمه قرمز رنگ خروج را بزند براي دفعه بعد كه كاربر وارد بشه شيت user1 هيدن نيست و visible هست
لطفا دوستان ديگه هم تست كنند ببينند

ali.b
2015/01/12, 15:17
در حالت عادی درسته منظورم از حالت عادی مال زمانی هست که من با افیس 2013 طراحی میکنم مشکلی نیست اما تا ی کابر با افیس ورژن پایین میاد دیگه از اون به بعد باید چنین داستانی داشته باشم
امیداور دوباره تو موج بارش رگبار محبت دوستان قرار بگیرم.

~M*E*H*D*I~
2015/01/13, 09:08
درود

برای حل مشکل حذف نشدن کاربر لطفا دو خط کدی که در تصویر زیر با رنگ بنفش مشخص شده حذف و کدی که با رنگ زرد هایلایت شده اضافه کنید.

http://exceliran.com/up/up/6731ceb5ced9626c9e951fefb238e4b9.png (http://www.exceliran.com)


c.EntireRow.Delete

mokaram
2015/01/13, 09:23
برای حل این مشکل تو ایونت open یا beforeclose میشه کدی نوشت که به غیر از شیت Welcome بقیه شیت ها هاید بشن

~M*E*H*D*I~
2015/01/13, 09:28
يه مشكلي پيدا كردم لطفا بررسي بفرماييد

وقتي فرد با نام مثلا user1 وارد سيستم ميشود و تغييرات لازم را در فرم لحاظ ميكند و سپس دكمه سيو را از بالاي صفحه ميزند و به صفحه welcome بازميگردد و سپس دكمه قرمز رنگ خروج را بزند براي دفعه بعد كه كاربر وارد بشه شيت user1 هيدن نيست و visible هست
لطفا دوستان ديگه هم تست كنند ببينند

راه حل موقت مشکل :کدی که با رنگ بنفش هایلایت شده در قسمتی که با رنگ زرد هایلایت شده کپی کنید



http://exceliran.com/up/up/eba04f056d20927f8c0c34e006fc275e.png (http://www.exceliran.com)

~M*E*H*D*I~
2015/01/13, 09:30
سلام
من يك چند تا ماكرو به اين برنامه اضافه كردم و اون رو share كردم بعد از اينكه فايل رو در حالت ahare باز مي كنم و تغييرات رو اعمال مي كنم وقتي اكسل رو مي بندم با پيغام project is unviewable رو به رو مي شم كه اين پيغام به تعداد ماكروها (6 بار) نمايش داده ميشه
ضمن اينكه حذف كاربر هم كار نمي كنه (آفيس 2007 هم استفاده مي كنم)
فايل رو به پيوست براتون ارسال مي كنم اگه بتونيد راهنماييم كنيد كه چه جوري اين ايراد رو برطرف كنم ممون ميشم ضمن اينكه چه جوري تنظيمات مربوط به ماكرو رو به صورت اتوماتيك در كلاينتهاي مقصد اعمال كنم كه نيازي به تنظيم دستي نباشه
و آخر اينكه چه جوري يك بخش از اطلاعات كل sheet ها رو كه ما مشخص مي كنيم locked بشه مثلا سطر اول همه sheet ها و ...

فایلی که کدهای خودتون رو بهش اضافه کردید برام ایمیل کنید تا بررسی کنم
mehdi.vatanparast@exceliran.com (mehdi.vatanparast@exceliran.com)

پ ن: مشکل حذف کاربر در پست 37 توضیح داده شد
درخصوص share کردن فایل هم تست کردم با اکسل 2013 روی سیستم خودم و 2007 روی سیستمی که باهاش شبکه شدم غیر از چند پیغام که برای شیر کردن فایلهای حاوی ماکرو صادر میشه و باید تأیید کرد مشکل دیگه ای باهاش نداشتم

~M*E*H*D*I~
2015/01/13, 09:34
اينكه براي حذف كاربر نام كاربري به صورت كمبو باكس ليست بشه (عين يوزرم فرم يك ) تا مدير بتونه ليستشونو ببينه

برای این بخش میتونید در فرم ورود که در جزوه هم توضیح داده شده و به صورت کمبوباکس هست ایده بگیرید و فرم رو به دلخواه ویرایش کنید لازم به ذکره در کدهای بعدی لازمه هرجا textbox3 استفاده شده به combobox تغییر بدید

gha3emi
2015/01/13, 14:04
سلام
مشكل ماكروها حل شد فكر كنم ايراد از آفيس خودم بود
ولي اون پرسش قبلي كه يك رنج از سلول ها رو تو كل شيتها بشه locked ش كرد رو نتونستم انجام بدم اگه ميشه راهنماييم كنيد .

mohamadali110
2015/01/13, 15:15
ممنون آقا مهدي بابت پاسخگوييتون
براي رفع مشكل حذف كاربر تغييراتي كه شما گفتين رو انجام دادم ولي بازم با اين خطا مواجه شدم:(

~M*E*H*D*I~
2015/01/14, 10:39
ممنون آقا مهدي بابت پاسخگوييتون
براي رفع مشكل حذف كاربر تغييراتي كه شما گفتين رو انجام دادم ولي بازم با اين خطا مواجه شدم:(

چه خطایی:confused:

~M*E*H*D*I~
2015/01/14, 10:45
سلام
مشكل ماكروها حل شد فكر كنم ايراد از آفيس خودم بود
ولي اون پرسش قبلي كه يك رنج از سلول ها رو تو كل شيتها بشه locked ش كرد رو نتونستم انجام بدم اگه ميشه راهنماييم كنيد .

این یک بحث جداست تاپیک مجزایی براش ایجاد کنید رسیدگی بشه

mohamadali110
2015/01/14, 11:37
چه خطایی:confused:


تو پيوست عكسشو گذاشتم
اين خط
اكسلم 2007 هست

this workbook.sheets(user).delete

~M*E*H*D*I~
2015/01/14, 21:19
تو پيوست عكسشو گذاشتم
اين خط
اكسلم 2007 هست

this workbook.sheets(user).delete

این که فقط دیباگ یک خط کد هست ، خطای کد تو توسط یک پیغام نشون داده میشه

nazi nazi
2015/02/17, 14:36
سلام
من فایل را خریداری کردم
میخواستم بدونم اگه هر یوزر دو تا شیت بخواد باید چکار کنم
و این که هر یوزر برای ورود اطلاعاتش از یک فرم که دارای کلید های ثبت و لغو تصحیح باشه استفاده کنه :crushed:

~M*E*H*D*I~
2015/02/17, 15:09
سلام
من فایل را خریداری کردم
میخواستم بدونم اگه هر یوزر دو تا شیت بخواد باید چکار کنم
و این که هر یوزر برای ورود اطلاعاتش از یک فرم که دارای کلید های ثبت و لغو تصحیح باشه استفاده کنه :crushed:

درود
در خصوص بخش اول در اولین فرصت کد چنین امکانی رو در همین تاپیک قرار میدم (با توجه به تفاوت بین ورژن های مختلف در پست های قبلی مطالبی مطرح شده که پیشنهاد میدم مشاهده کنید)

در خصوص بخش دوم سوال اونچه در پکیج گفته شده اصول اولیه و روشی هست که نحوه کار رو نشون بده مواردی مانند امکان ثبت اطلاعات با فرم چیزی که در حال حاضر به ذهنم میرسه یک طراحی یک فرم برای هر نفر به نحوی که با وارد کرد پسورد فرم مربوطه باز بشه و راه حل بهینه تر استفاده از یک فرم اما به نحوی که بر اساس صحت پسورد در شیت مختص کاربر اطلاعات ثبت بشه البته تا شروع به کد نویسی نشه اشاکالات در نمیاد.

nazi nazi
2015/02/17, 15:13
درود
در خصوص بخش اول در اولین فرصت کد چنین امکانی رو در همین تاپیک قرار میدم (با توجه به تفاوت بین ورژن های مختلف در پست های قبلی مطالبی مطرح شده که پیشنهاد میدم مشاهده کنید)

در خصوص بخش دوم سوال اونچه در پکیج گفته شده اصول اولیه و روشی هست که نحوه کار رو نشون بده مواردی مانند امکان ثبت اطلاعات با فرم چیزی که در حال حاضر به ذهنم میرسه یک طراحی یک فرم برای هر نفر به نحوی که با وارد کرد پسورد فرم مربوطه باز بشه و راه حل بهینه تر استفاده از یک فرم اما به نحوی که بر اساس صحت پسورد در شیت مختص کاربر اطلاعات ثبت بشه البته تا شروع به کد نویسی نشه اشاکالات در نمیاد.
سلام ممنونم جواب دادید
ولی من خیلی از کد نویسی چیزی بلد نیستم
میشه راهنمایی بیشتری بفرمایید
این کار شما خیلی خوبه و عالی خیلی پروزه کاری منو جلو انداخت حتما در اون از شما نام خواهم برد

~M*E*H*D*I~
2015/02/17, 15:23
سلام ممنونم جواب دادید
ولی من خیلی از کد نویسی چیزی بلد نیستم
میشه راهنمایی بیشتری بفرمایید
این کار شما خیلی خوبه و عالی خیلی پروزه کاری منو جلو انداخت حتما در اون از شما نام خواهم برد

متاسفانه امکان راهنمایی در چند خط وجود نداره با توجه به اینکه آشنایی کمی با vba داریدکه به علت گستردگی مطلب هست اما اگر پیگیر باشید مطالب آموزشی خیلی خوبی در زمینه vba در انجمن هست که به شما کمک خواهد کرد در جزوه هم حتی الامکان در خصوص نحوه کار کد ها بحث کردم که با مطالعه اون بیشتر با روند کد نویسی آشنا میشید سعی میکنم برای موردی که مطرح کردید کدهای لازم رو بنویسم اما همونطور که گفتم روش های گفته شده فی البداهه و تنها ایده بود و تا زمانی که خودم شروع نکنم به نوشتن نمیدونم چقدر عملی باشه شاید هم راه ساده تری برای کار باشه به هر حال پیگیر باشید جوابتون رو میگیرید

nazi nazi
2015/02/17, 15:32
متاسفانه امکان راهنمایی در چند خط وجود نداره با توجه به اینکه آشنایی کمی با vba داریدکه به علت گستردگی مطلب هست اما اگر پیگیر باشید مطالب آموزشی خیلی خوبی در زمینه vba در انجمن هست که به شما کمک خواهد کرد در جزوه هم حتی الامکان در خصوص نحوه کار کد ها بحث کردم که با مطالعه اون بیشتر با روند کد نویسی آشنا میشید سعی میکنم برای موردی که مطرح کردید کدهای لازم رو بنویسم اما همونطور که گفتم روش های گفته شده فی البداهه و تنها ایده بود و تا زمانی که خودم شروع نکنم به نوشتن نمیدونم چقدر عملی باشه شاید هم راه ساده تری برای کار باشه به هر حال پیگیر باشید جوابتون رو میگیرید
در مورد فرم یک نمونه در جایی دیدم که در بالای اون تب هایی بود و برای هر واحد جدا بود هر واحد اطلاعاتش را وارد میکرد و همه در یک جا ثبت میشد
برای من مهم ثبت اطلاعاته که بتونم در تاریخ های مشخص وارد کنم و بتونم خروجی بگیرم ازشون در ضمن قابلیت برگشت به گذشته هم داشته باشه مثلا بتونم اطلاعات چند ماه قبل را را بتونم ببینم با وارد کردن یک تاریخ

~M*E*H*D*I~
2015/02/18, 09:13
درود

در خصوص سوالی که دوستان مطرح کردند مبنی بر اینکه برای کاربر بیش از یک شیت در نظر بگیریم دو راهکار به ذهنم رسید
1- تعیین شیت های هر کاربر در شیت protectdata به نحوی که با پیمایش ردیف هر کاربر شیت مربوطه باز بشه
2- استفاده از یک قاعده نامگذاری برای شیت ها

کد زیر برای راه حل دوم نوشته شده دوستان باید این کد رو جایگزین کدی که برای کلید login یوزر فرم یک نوشته شده کنند


Private Sub CommandButton1_Click()
Dim PassWord As String
Dim user As String
Dim ws As Worksheet
user = ComboBox1.Value
PassWord = TextBox1.Value
If user = "" Or PassWord = "" Then
MsgBox "Enter name and password"
Exit Sub
End If
If PassWord = WorksheetFunction.VLookup(user, Range("List"), 2, 0) Then

For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> "Welcome" And ws.Name <> "Protectdata" Then
On Error GoTo handler
If user = Mid(ws.Name, 1, Application.WorksheetFunction.Find("-", ws.Name, 1) - 1) Then
Sheets(ws.Name).Visible = xlSheetVisible
End If
End If
handler:
If Err = 1004 Then
MsgBox "The name of sheet is wrong"
Exit Sub
End If
Next
MsgBox "Password Accepted"
UserForm1.Hide
ElseIf counter <= 3 Then
MsgBox "Try Again"
counter = counter + 1
TextBox1.Value = ""
Exit Sub
Else
MsgBox "Password Not Accepted, Workbook will close"
Unload Me
ThisWorkbook.Close
End If
ComboBox1.Value = ""
TextBox1.Value = ""
End Sub

اما برای اینکه کدها به درستی کار کنند قواعدی باید رعایت بشه

در فایل مشاهده میکنید که نام شیت ها به صورت User1,User2,User3 نامگذاری شده با این فرض که هر کاربر ممکنه تعداد شیت بیشتری داشته باشه نامگذاری به شیوه زیر خواهد بود

User1-1
User2-1
User3-1

بنابر این گر user1 شیت های دیگری نیاز داشته باشه به شکل زیر خواهد بود

User1-2
User1-3
و....

برای سایر کاربران هم به همین نحو

در صورتی که این قاعده راعایت نشه پیغام زیر صادر خواهد شد


The name of sheet is wrong

سوالی بود در خدمتم

nazi nazi
2015/02/18, 10:50
درود

در خصوص سوالی که دوستان مطرح کردند مبنی بر اینکه برای کاربر بیش از یک شیت در نظر بگیریم دو راهکار به ذهنم رسید
1- تعیین شیت های هر کاربر در شیت protectdata به نحوی که با پیمایش ردیف هر کاربر شیت مربوطه باز بشه
2- استفاده از یک قاعده نامگذاری برای شیت ها

کد زیر برای راه حل دوم نوشته شده دوستان باید این کد رو جایگزین کدی که برای کلید login یوزر فرم یک نوشته شده کنند


Private Sub CommandButton1_Click()
Dim PassWord As String
Dim user As String
Dim ws As Worksheet
user = ComboBox1.Value
PassWord = TextBox1.Value
If user = "" Or PassWord = "" Then
MsgBox "Enter name and password"
Exit Sub
End If
If PassWord = WorksheetFunction.VLookup(user, Range("List"), 2, 0) Then

For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> "Welcome" And ws.Name <> "Protectdata" Then
On Error GoTo handler
If user = Mid(ws.Name, 1, Application.WorksheetFunction.Find("-", ws.Name, 1) - 1) Then
Sheets(ws.Name).Visible = xlSheetVisible
End If
End If
handler:
If Err = 1004 Then
MsgBox "The name of sheet is wrong"
Exit Sub
End If
Next
MsgBox "Password Accepted"
UserForm1.Hide
ElseIf counter <= 3 Then
MsgBox "Try Again"
counter = counter + 1
TextBox1.Value = ""
Exit Sub
Else
MsgBox "Password Not Accepted, Workbook will close"
Unload Me
ThisWorkbook.Close
End If
ComboBox1.Value = ""
TextBox1.Value = ""
End Sub

اما برای اینکه کدها به درستی کار کنند قواعدی باید رعایت بشه

در فایل مشاهده میکنید که نام شیت ها به صورت User1,User2,User3 نامگذاری شده با این فرض که هر کاربر ممکنه تعداد شیت بیشتری داشته باشه نامگذاری به شیوه زیر خواهد بود

User1-1
User2-1
User3-1

بنابر این گر user1 شیت های دیگری نیاز داشته باشه به شکل زیر خواهد بود

User1-2
User1-3
و....

برای سایر کاربران هم به همین نحو

در صورتی که این قاعده راعایت نشه پیغام زیر صادر خواهد شد


The name of sheet is wrong

سوالی بود در خدمتم

سلام
ممنون از جوابتون
من این کارو کردم ولی یوزر ه دیگه باز نمیشدن
البته من یوزرهای جدید با نامهای دیگه ساخته بودم مثلا qa یا qc
ولی نشد اصلا باز نمشد و فقط ادمین باز میشد

~M*E*H*D*I~
2015/02/18, 11:01
سلام
ممنون از جوابتون
من این کارو کردم ولی یوزر ه دیگه باز نمیشدن
البته من یوزرهای جدید با نامهای دیگه ساخته بودم مثلا qa یا qc
ولی نشد اصلا باز نمشد و فقط ادمین باز میشد

نام کاربری چی گذاشتید؟

nazi nazi
2015/02/18, 11:03
نام کاربری چی گذاشتید؟

qa
qc
pm
factory
اینها ار گذاشتم ممکنه باز واحد های دیگه ای اضافه بشه

~M*E*H*D*I~
2015/02/18, 11:07
qa
qc
pm
factory
اینها ار گذاشتم ممکنه باز واحد های دیگه ای اضافه بشه

خب شما باید شیت هارو به صورت زیر نام گذاری کنید
qc-1
pm-1
factory-1
اگر qc شیت دیگه ای نیاز داشت qc-2 و....

nazi nazi
2015/02/18, 11:31
خب شما باید شیت هارو به صورت زیر نام گذاری کنید
qc-1
pm-1
factory-1
اگر qc شیت دیگه ای نیاز داشت qc-2 و....
نمیشه
حتی یوزر جدید هم ساختم باز وارد یوزر ها نمیشه

~M*E*H*D*I~
2015/02/18, 11:58
نمیشه
حتی یوزر جدید هم ساختم باز وارد یوزر ها نمیشه

ایمیل کنید فایل رو برام تا چک کنم

mehdi.vatanparast@exceliran.com (mehdi.vatanparast@exceliran.com)

nazi nazi
2015/02/19, 16:13
ایمیل کنید فایل رو برام تا چک کنم

mehdi.vatanparast@exceliran.com (mehdi.vatanparast@exceliran.com)

فرستاده شد

~M*E*H*D*I~
2015/02/19, 18:31
فرستاده شد

فایل رو دیدم
ببینید قاعده نامگذاری به این شکل بود که فرضا QC یک کاربر باشه در این صورت یوزرنیم QC و شیتهای مربوطه QC-1,QC-2,... نامگذاری بشند بقیه یوزرها هم به همین ترتیب و اگر شیتی مثل dashboard اضافه میکنید که شیت کاربری نیست در کد زیر استثناء بشه تا در شرط نامگذاری لحاظ نشه


If ws.Name <> "Welcome" And ws.Name <> "Protectdata" And ws.Name <> "Dashboard" Then

nazi nazi
2015/02/21, 15:38
فایل رو دیدم
ببینید قاعده نامگذاری به این شکل بود که فرضا QC یک کاربر باشه در این صورت یوزرنیم QC و شیتهای مربوطه QC-1,QC-2,... نامگذاری بشند بقیه یوزرها هم به همین ترتیب و اگر شیتی مثل dashboard اضافه میکنید که شیت کاربری نیست در کد زیر استثناء بشه تا در شرط نامگذاری لحاظ نشه


If ws.Name <> "Welcome" And ws.Name <> "Protectdata" And ws.Name <> "Dashboard" Then

ممنونم بسیار خوب بود من درست متوجه نشده بودم
فقط در ارتباط با ساخت فرم ها برای هر یوزر مشکل دارم در قسمت فرم های vba مطرح کردم ولی جوابی نگرفتم

Alireza392
2015/04/14, 16:20
با سلام
دوستان لینک خریدش کجاس؟

~M*E*H*D*I~
2015/04/14, 16:39
با سلام
دوستان لینک خریدش کجاس؟

خدمت شما

آموزش ایجاد فایل چندکاربره با سطح دسترسی مشخص (http://www.exceliran.com/downloads/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D9%81%D8%A7%DB%8C%D9%84-%DA%86%D9%86%D8%AF%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D 9%87-%D8%A8%D8%A7-%D8%B3%D8%B7%D8%AD-%D8%AF%D8%B3%D8%AA%D8%B1/)

alimaleki66
2017/07/26, 13:06
با سلام و احترام
من بند به بند ساخت فایل رو دنبال کردم و همه فایل رو ساختم. ولی یه مشکل دارم. وقتی پنل مدیریتی رو میسازیم کجا باید برای دسترسی به نام کابران و دسترسی به کل برنامه برای مدیر رمز تعریف کنیم؟
تو فایل نمونه خودتون هم، رمز Adminpass برای دسترسی به اون بخش ها کار نمیکنه

hreza.fahimi
2018/04/23, 21:16
سلام ضمن تشکر از مطالب خوب و زیبای شما، متاسفانه این پکیج علیرغم این همه تعریفی که از آن شده بود، کارایی لازم را نداشت. چون هر فایل اکسل معمولا از چند شیت مختلف تشکیل شده، که نیاز است به هریک از افراد سطح دسترسی مختلفی داد. بطور مثال برای یک برنامه حسابداری در اکسل من 16 شیت دارم که همه کاربران نیاز به استفاده از تمام شیتها را ندارند. ولی در این پکیج یک شیت بود که با راه های ساده تر هم میشد آن را ایجاد کرد. علاوه بر این که اصلا سابقه ورود و خروج در آن ثبت نمیشود که برای من خیلی مهم است.
بهرحال با توجه به اینکه از لحاط کد نویسی زحمت زیادی کشیده شده بود و بعضا خط به خط کد ها توضیح داده شده بود. بی نهایت سپاسگزارم. اگر محبت کنید این قابلیت ها را در ادامه این فایل ارسال کنید خیلی کامل میشود.

ارادتمند

SAEIIID
2018/04/24, 12:37
خدمت شما

آموزش ایجاد فایل چندکاربره با سطح دسترسی مشخص (http://www.exceliran.com/downloads/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D9%81%D8%A7%DB%8C%D9%84-%DA%86%D9%86%D8%AF%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D 9%87-%D8%A8%D8%A7-%D8%B3%D8%B7%D8%AD-%D8%AF%D8%B3%D8%AA%D8%B1/)

روی شبکه هم میشه اکسل چند کاربره ایجاد کرد؟

Amir Ghasemiyan
2018/04/29, 09:46
روی شبکه هم میشه اکسل چند کاربره ایجاد کرد؟

روي شبكه هاي داخلي ميشه اما بصورت آنلاين نه

sabertb
2018/08/12, 11:09
سلام خسته نباشید بابت فایل و آموزش پر کاربرد و مفیدتون
سوال من در مورد این بخش است که در صورتی قرار باشه ارتباط اسمی بین User ها و نام شیت ها نباشه وهر کاربر با نام کاربری که خودش انتخواب کرده و توسط ادمین در سیستم ثبت شده بخواد وارد بشود و بتواند از تعداد بیش از یک شیت از فایل دسترسی داشته باشه که قبلا تایین شده چه کاری بایست انجام داد در فرمول VBA زیر

Private Sub CommandButton1_Click()
Dim PassWord As String
Dim user As String
user = ComboBox1.Value
PassWord = TextBox1.Value
If user = "" Or PassWord = "" Then
MsgBox "Enter name and password"
Exit Sub
End If


If PassWord = WorksheetFunction.VLookup(user, Range("List"), 2, 0) Then
Sheets(user).Visible = xlSheetVisible
MsgBox "Password Accepted"
UserForm1.Hide
ElseIf counter <= 3 Then
MsgBox "Try Again"
counter = counter + 1
TextBox1.Value = ""
Exit Sub
Else
MsgBox "Password Not Accepted, Workbook will close"
Unload Me
ThisWorkbook.Close
End If
ComboBox1.Value = ""
TextBox1.Value = ""
End Sub

sabertb
2018/08/14, 11:45
سلام اساتید عزیز
هنوز سوال قبلیم بدون جواب مانده ولی من یه راه کار براش پیدا کردم هنوز منتظر راه های بهتر شما اساتید هستم
در مورد مسئله جدید باید بگم بعد از کار کردن زیاد با این برنامه متوجه شدم دستور زیر که برای بستن صفحه ها بجر صفحه Welcome هست
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sheet As Worksheet
Application.DisplayAlerts = False
For Each sheet In Worksheets
Select Case sheet.Name
Case "Welcome"
Case Else
Sheets(sheet.Name).Visible = xlVeryHidden
End Select
Next sheet
If Me.Saved = False Then Me.Save
ActiveWorkbook.Close
End Sub
با ماکرو بسته شدن کلید Close در صفحه Welcom غیر فعال میشه فرمول بسته شدن به صورت زیر است
Sub mclose()
Application.DisplayAlerts = False
ThisWorkbook.Close
End Sub
برای رفع این مشکل چه باید کنم ؟
و همینطور در صورتی که کاربر اول بر روی فایل کار کرده و می خواهد کاربر دوم وارد فایل شود از قسمت ورود در صفحه Welcome نام کاربری خود رو وارد میکند صفحات کاربر اول نیز برایش باز می باشد برای رفع این مشکل چه کنیم ؟

sabertb
2018/09/23, 16:41
سلام
ممنون از جوابتون
من این کارو کردم ولی یوزر ه دیگه باز نمیشدن
البته من یوزرهای جدید با نامهای دیگه ساخته بودم مثلا qa یا qc
ولی نشد اصلا باز نمشد و فقط ادمین باز میشد
سلام خسته نباشید من از این روش استفاده کردم

Private Sub CommandButton1_Click()
Dim PassWord As String
Dim user As String
user = ComboBox1.Value
PassWord = TextBox1.Value
If user = "" Or PassWord = "" Then
MsgBox "Enter name and password"
Exit Sub
End If


If PassWord = WorksheetFunction.VLookup(user, Range("List"), 2, 0) Then
Sheets((user) & " DB").Visible = xlSheetVisible
Sheets((user) & " report").Visible = xlSheetVisible
Sheets((user) & " TimeSheet").Visible = xlSheetVisible
Sheets("Print").Visible = xlSheetVisible
MsgBox "Password Accepted"
UserForm1.Hide
ElseIf counter <= 3 Then
MsgBox "Try Again"
counter = counter + 1
TextBox1.Value = ""
Exit Sub
Else
MsgBox "Password Not Accepted, Workbook will close"
Unload Me
ThisWorkbook.Close
End If
ComboBox1.Value = ""
TextBox1.Value = ""

End Sub
در این کد ما یک صفحه به نام Print رو مشترک برای همه قرار دادیم بر اساس کارکردش و برای هر یوزر سه صفحه در نظر گرفتم که نام صفحه ها با یوزر شروع و DB (به عنوان دیتا بیس) و Report(به عنوان گزارش گیری) و Timesheet (به عنوان صفحه کارکرد) می توان این موارد رو افزایش داد در صورت نیاز

ana849545
2018/10/13, 12:06
ممنون مطالب جالبیه

aliss365
2018/10/13, 14:33
پکیج خوبیه ممنون

tina7127
2018/10/22, 13:50
سلام منون از سایت خوبتون

namdari
2018/12/06, 08:01
با سلام من نیز نتونستم لینکس رو بدست بیارم
ممنون

medihealth
2018/12/06, 12:56
خیلی کامله ممنون از شما

re.ghasemi
2021/02/22, 21:09
با سلام و احترام
من بند به بند ساخت فایل رو دنبال کردم و همه فایل رو ساختم. ولی یه مشکل دارم. وقتی پنل مدیریتی رو میسازیم کجا باید برای دسترسی به نام کابران و دسترسی به کل برنامه برای مدیر رمز تعریف کنیم؟
تو فایل نمونه خودتون هم، رمز Adminpass برای دسترسی به اون بخش ها کار نمیکنه
با سلام
این مورد دقیقا مشکل منم هست. ممنون میشم اگر مدیر محترم راهنمایی کنند