لوری با کتاب کاری که می خواست با دیگران به اشتراک بگذارد مشکل داشت. کتاب کار حاوی یک ماکرو بود، اما هر زمان که کتاب کار برای جلوگیری از ایجاد تغییرات در کتاب کار توسط دیگران محافظت میشود، لوری گزارش میدهد که «ماکرو غیرفعال است».
بازتولید مشکل دقیق لوریس کمی سخت است، زیرا آزمایش نشان می دهد که ماکروها هنوز هم در کاربرگ های محافظت شده و هم در کتاب های کاری محافظت شده در دسترس هستند. همچنان میتوانید کادر محاورهای ماکروها را نمایش دهید و لیست ماکروهای موجود را ببینید. همچنان می توانید یکی از ماکروها را انتخاب کرده و اجرا کنید.
البته، دیدن و اجرای ماکروها ممکن است مشکل لوریس نباشد. ممکن است زمانی که ماکرو در یک کاربرگ محافظت شده استفاده می شود، به درستی اجرا نشود. در این صورت، مشکل معمولاً تنها در صورتی ظاهر میشود که ماکرو در حال تلاش برای انجام عملی باشد که حفاظت اعمال شده روی کاربرگ را نقض میکند. به عنوان مثال، اگر حفاظت اجازه حذف ردیف ها یا ستون ها را ندهد و ماکرو سعی در انجام چنین کاری داشته باشد، کار نخواهد کرد.
راه حل در این مورد این است که ماکرو خود را به گونه ای تغییر دهید که کاربرگ را قبل از ایجاد تغییرات از حالت محافظت خارج کند. موارد زیر اصول اولیه نحوه انجام این کار را نشان می دهد:
Sub ModifyProtectedSheet()
ActiveSheet.Unprotect password:="yourpassword"
work on the worksheet here
ActiveSheet.Protect password:="yourpassword", _
DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
خط اول این مثال از کاربرگ محافظت می کند، سپس می توانید پردازش خود را انجام دهید و سپس خط آخر دوباره از آن محافظت می کند. اگر کتاب کار شما از محافظت استفاده میکند، میتوان از همان تکنیک برای کتاب کار استفاده کرد—حفاظت را حذف کنید، سپس تغییراتی ایجاد کنید، سپس دوباره از آن محافظت کنید.
مشکل لوریس همچنین می تواند مربوط به کلمه "اشتراک گذاری" باشد که او در بیان مشکل خود از آن استفاده کرده است. اگر منظور از اشتراکگذاری، Lori استفاده از Share Workbook برای «قابل اشتراکگذاری» کردن کتاب کار توسط دیگران است، در آن صورت هنگام فعال شدن اشتراکگذاری، هشداری را مشاهده خواهید کرد. این هشدار نشان میدهد که ماکروها را نمیتوان در کتابهای کاری مشترک «مشاهده یا ویرایش کرد». با این حال، این بدان معنا نیست که ماکروها غیرفعال هستند، زیرا همچنان میتوانید کادر محاورهای ماکروها را نمایش دهید تا لیستی از ماکروها را ببینید و یکی را برای اجرا انتخاب کنید. با این حال، نمی توانید ویرایشگر VBA را نمایش دهید و به کد ماکرو واقعی نگاه کنید.
در نهایت، برخی از ویژگی های اکسل وجود دارد که به سادگی در کتاب های کاری مشترک غیرفعال می شوند. اگر ماکرو شما سعی کند هر یک از این اقدامات غیرفعال را انجام دهد، به درستی کار نخواهد کرد. این یک محدودیت اکسل است و هیچ کاری نمی توان در مورد آن انجام داد. (برای اطلاعات بیشتر در مورد کارهایی که نمی توان در یک کتاب کار مشترک انجام داد، از سیستم راهنمای آنلاین استفاده کنید و «کتاب های کار مشترک، محدودیت ها» را جستجو کنید.) تنها راه حل این محدودیت ها، اشتراک گذاری نکردن کتاب کار است.