PDA

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



K1P
2014/07/11, 23:29
من داشتم يک سري کد را در فايلهايم امتحان مي کردم که کلا" راست کليک روي سلها و شيت هايم غير ممکن شده، توي کل اکسل! حالا چکارکنم؟
کدهايي که روش کار مي کردم اينها بود: (سه تا کد)

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
MsgBox "No RightClick"
Cancel = True
End Sub
---------------------------------
Private Sub Workbook_Open()
Application.CommandBars("cell").Enabled = False
End Sub
---------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("cell").Enabled = True
End Sub

K1P
2014/07/12, 00:41
الآن يک فايل اگر تشکليل دهم و و کد زير را در آن بگذارم:

Private Sub Workbook_Open()
Application.CommandBars("cell").Enabled = True
Application.CommandBars("Sheet").Enabled = True
End Sub
فقط در همان فايل راست کليک روي سلها فعال مي گردد ولي شيتها همچنان راست کليک ندارند! و اين فقط در همان فايل است ولي بقيه اکسل کلا" راست کليک سل و شيت ندارند!
نمي دانم چکار کرده ام! مگر مي شود توي يک فايل کدي نوشته باشم و در کل اکسل به صورت دائم تنظيمات را عوض کرده باشد؟
هر کدام از کدهاي فوق را که امتحان مي کردم ممکن است TRUE ها و FALSE ها را عوض کرده باشم ولي به هيچ وجه PRIVATE ها را دست نزده ام که مثلا" به PUBLIC تغيير يافته باشد!
بايد اکسل را دوباره نصب کنم؟

علی فاطمی
2014/07/12, 08:18
الآن يک فايل اگر تشکليل دهم و و کد زير را در آن بگذارم:

Private Sub Workbook_Open()
Application.CommandBars("cell").Enabled = True
Application.CommandBars("Sheet").Enabled = True
End Sub
فقط در همان فايل راست کليک روي سلها فعال مي گردد ولي شيتها همچنان راست کليک ندارند! و اين فقط در همان فايل است ولي بقيه اکسل کلا" راست کليک سل و شيت ندارند!
نمي دانم چکار کرده ام! مگر مي شود توي يک فايل کدي نوشته باشم و در کل اکسل به صورت دائم تنظيمات را عوض کرده باشد؟
هر کدام از کدهاي فوق را که امتحان مي کردم ممکن است TRUE ها و FALSE ها را عوض کرده باشم ولي به هيچ وجه PRIVATE ها را دست نزده ام که مثلا" به PUBLIC تغيير يافته باشد!
بايد اکسل را دوباره نصب کنم؟

با سلام ،
بهتر شما کدهاتون رو Activate و Deactivate بنوسید.

Private Sub Workbook_Activate()
Application.CommandBars("cell").Enabled = False
End Sub

Private Sub Workbook_Deactivate()
Application.CommandBars("cell").Enabled = True
End Sub

K1P
2014/07/12, 21:43
با سلام ،
بهتر شما کدهاتون رو Activate و Deactivate بنوسید.

Private Sub Workbook_Activate()
Application.CommandBars("cell").Enabled = False
End Sub

Private Sub Workbook_Deactivate()
Application.CommandBars("cell").Enabled = True
End Sub

متشکرم،
دفعه بعد از کد شما استفاده مي کنم، ولي همين الآن که راست کليک روي کل فايلهاي اکسلم غير فعال شده چه کار مي توان کرد؟ چيزي به نظرتان مي رسد؟

امين اسماعيلي
2014/07/12, 22:48
با درود
یه سوال برام پیش اومد . شما وقتی رو یه اکسل دیگه داری کار میکنی این فایل که کد ها رو توش نوشتی باز هستش؟ من کد ها رو تست کردم وقتی که این فایل باز باشه این مشکل وجود داره

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



Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
MsgBox "No RightClick"
Cancel = True
End Sub

Private Sub Workbook_Activate()
Application.CommandBars("cell").Enabled = False
End Sub

Private Sub Workbook_Deactivate()
Application.CommandBars("cell").Enabled = True
End Sub

Private Sub Workbook_Open()
Application.CommandBars("cell").Enabled = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("cell").Enabled = True
End Sub

علی فاطمی
2014/07/13, 07:27
متشکرم،
دفعه بعد از کد شما استفاده مي کنم، ولي همين الآن که راست کليک روي کل فايلهاي اکسلم غير فعال شده چه کار مي توان کرد؟ چيزي به نظرتان مي رسد؟

با سلام ،
ببینین وقتی فایلی که کدها توش نوشته شده باز باشه و از طریق همین workbook فایل جدید باز کنی عملا راست کلیک نخواهی داشت فقط کافیه کدهاتو با کدهای که برات نوشتم عوض کنی مشکل حل میشه.

K1P
2014/07/13, 20:42
ممنونم دوستان، ولي حواسم بود، هيچ فايل ديگري باز نبود و هيچ add-in يا همچين چيزي هم اضافه نشده و باز نبود.
ولي يک قسمت مشکلم در مورد سل ها اينگونه حل شد:
در محيط vba کليدهاي ctrl+g را زدم تا پنجره immediate باز شد، سپس کد application.commandbars("cell").enable=true را نوشته و اينتر کردم و مشکل سل ها حل شد.
فقط مشکل راست کليک شيت ها همچنان پابرجا است! به جاي cell عبارت sheet را در کد فوق استفاده کرده و مجددا" مراحل را تکرار کردم ولي هنوز مشکل شيت ها پابرجاست و راست کليک روي آنها جواب نمي دهد، آيا کمکي مي توانيد بفرماييد؟

K1P
2014/07/14, 01:30
از آقاي اسماعيلي و آقاي فاطمي تشکر مي کنم، ولي وضعيت اکسل من به صورتي در آمده بود که هيچکدام از کدهاي پيشنهادي به اين صورت جواب نمي داد.
البته بالاخره مشکل راست کليک شيتها را هم درستش کردم!
همه چي از اين دو پست سايت شروع شد:
غیر فعال کردن راست کلیک (http://forum.exceliran.com/showthread.php/3187-%D8%BA%DB%8C%D8%B1-%D9%81%D8%B9%D8%A7%D9%84-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B1%D8%A7%D8%B3%D8%AA-%DA%A9%D9%84%DB%8C%DA%A9)
و يک پست ديگر که در همين زمينه آقاي شمس العلما ايجاد کرده بودند
پس با احتياط از دستوراتشان استفاده کنيد!
براي درست کردن راست کليک روي شيت ها هم از دستور
application.commandbars("PLY").enable=true در همان پنجره immediate استفاده کردم، منتهي اول يک فايل خام اکسل باز کردم، بعد فقط فايل را به نحوي بستم که قاب خود اکسل باز بماند، بعد داخل VBA شدم و کد را نوشته و اينتر کردم.
وقتي اينتر مي کنيد درست است که نشانگر موس يک خط پايين مي آيد ولي کد هم به همراه آن RUN مي شود.
راهنمايي ام را هم از سايت مايکروسافت:
Mouse right click no longer working in excel - Microsoft Community (http://answers.microsoft.com/en-us/office/forum/office_2007-excel/mouse-right-click-no-longer-working-in-excel/36a5d05c-b410-4cac-98c6-86839169b950)
گرفتم، البته کلي باهاش ور رفتم تا درست شد.
از همه دوستان که وقت گذاشتند تشکر مي کنم، اينها را هم نوشتم که در جريان قرار بگيريد اگر مشکل اينجوري داشتيد چکار بايد بکنيد.
از همگي ممنونم.
مؤيد باشيد.