دواراجان در موقعیتی قرار گرفت که یک ورک بوک خراب شد، اما او می خواست ماژول ماکرو مرتبط با ورک بوک را بازیابی کند. (ماکروها زمان توسعه کمی را نشان می دهند.) Devarajan متعجب بود که چگونه می توان این ماژول را بازیابی کرد.
پاسخ تا حد زیادی بستگی به این دارد که ورک بوک واقعاً چقدر خراب است و فساد در کجای ورک بوک قرار دارد. مطالب زیادی در مورد چگونگی بازیابی کتابهای کار خراب نوشته شده است. منابع زیر در این زمینه مورد توجه خواهد بود:
http://support.microsoft.com/?kbid=820741
http://www.jkp-ads.com/Articles/CorruptFiles.asp
این صفحات به طور خاص به بازیابی داده ها اشاره دارند، نه به بازیابی ماکروها در یک ماژول مرتبط با یک ورک بوک. یکی از مواردی که ممکن است برای بدست آوردن ماکروهای خود امتحان کنید موارد زیر است:
- اکسل را باز کنید، اما ورک بوک مشکل را نه.
- حالت محاسبه را روی دستی تنظیم کنید (برگه فرمول ها | گروه محاسبه | گزینه های محاسبه | دستی).
- تنظیمات امنیتی را روی High (برگه توسعه دهنده | گروه کد | امنیت ماکرو | تنظیمات ماکرو | غیرفعال کردن همه ماکروها بدون اعلان) تنظیم کنید.
- ورک بوک مشکل ساز را باز کنید. اگر با موفقیت باز شود، باید اعلانی مبنی بر غیرفعال شدن ماکروها مشاهده کنید. (اگر ورک بوک باز نشد، ممکن است اکسل را نیز خاموش کنید؛ این سری از مراحل کار نمی کند.)
- Alt+F11 را فشار دهید تا ویرایشگر VBA نمایش داده شود.
- در Project Explorer، ماژولی را که می خواهید ذخیره کنید پیدا کنید.
- روی نام ماژول کلیک راست کرده و Export File را انتخاب کنید.
- نام و محل ذخیره ماژول را ارائه دهید.
- ویرایشگر VBA را ببندید و از اکسل خارج شوید.
- با ذخیره ماژول در فایل خود، اکنون می توانید آن را به صورت دلخواه در ورک بوک دیگری وارد کنید.
راه دیگر برای تلاش برای بازیابی، استفاده از OpenOffice، جایگزین رایگان مایکروسافت آفیس است. برنامه صفحه گسترده در OpenOffice فایل های اکسل را باز می کند و به برخی از مسائل خراب حساس نیست.
اگر باز هم کار نکرد، از یک ابزار دستکاری فایل سطح پایین استفاده کنید که به شما امکان می دهد فایل ها را بخش به بخش از یک دیسک بخوانید و سپس به شما امکان می دهد اطلاعات هر بخش را ببینید. با اکثر انواع فایل ها، این کار خیلی مفید نخواهد بود. در واقع، به شما کمکی نمی کند که هیچ داده ای را از یک ورک بوک اکسل بازیابی کنید. با این حال، بازیابی ماکروها داستان متفاوتی است. آنها در ورک بوک در متن ساده ASCII ذخیره می شوند، بنابراین شما باید بتوانید کد ماکرو را تشخیص دهید و سپس آن را از ابزار دیسک کپی کنید.