خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
رفع خطای Microsoft Excel is waiting for another application to complete an OLE action
یکی از خطاهایی که کاربران هنگام باز کردن BI Excel و یا اجرای یک اسکریپت VBA در اکسل، با آن مواجه شده اند، ارور Microsoft Excel is waiting for another application to complete an OLE action می باشد. مایکروسافت برای کمک به برنامه های Office جهت برقراری ارتباط با سایر برنامه ها ، فناوری OLE (Object Linking and Embedding) را معرفی کرد. به عنوان مثال ، اگر روی اکسل کار می کنید و سعی در تعامل با Word را دارید ، پیامی به OLE می فرستد و منتظر می ماند تا پاسخی از Word دریافت کند و اگر مدت زمان دریافت پاسخ زیاد شود، خطای Microsoft Excel is waiting for another application to complete an OLE action را دریافت خواهید کرد.
این خطا یا به دلیل خاموش بودن پروتکل DDE در اکسل و اگر Adobe Acrobat PDFMaker را به عنوان افزونه در اکسل داشته باشید و با آن تداخلی وجود داشته باشد و یا تداخلی بین Internet Explorer و اکسل وجود دارد.
ساده ترین کار در این شرایط بستن اکسل و همه برنامه ها و ریستارت کردن سیستم تان است. سپس وضعیت ارور را بررسی کنید و اگر مشکل را کماکان دارید، روش های زیر را انجام دهید.
بدین ترتیب فرم Excel Options باز می شود. سپس از پانل سمت چپ گزینه Advanced را انتخاب کرده و در مقابل و از بخش General، تیک گزینه Ignore other applications that use Dynamic Data Exchange (DDE). را غیرفعال کنید.
در آخر هم فرم را OK کرده و سپس وضعیت ارور را بررسی کنید.
به تب Compatibility رفته و از قسمت Compatibility mode، تیک گزینه Run this program in compatibility mode for را غیرفعال و ok کنید.
حالا وضعیت ارور را بررسی کنید.
Excel را باز کرده و سپس کلیدهای Alt + F11 را فشار دهید. بدین ترتیب Microsoft Visual Basic for Applications باز می شود.
از Microsoft Excel Objects،روی گزینه ThisWorkbook کلیک راست کرده و از Insert، گزینه Module را برگزینید.
بدین ترتیب یک Module جدید در سمت راست ایجاد می شود که کد زیر را در آن Copy و paste کنید.
حتی به جای کد فوق از کد زیر هم می توانید استفاده کنید. می توانید یک Module جدید ایجاد کرده و کد را در آن کپی کنید.
سپس از منوی File، گزینه Save Book1 را کلیک کنید.
پس از انتخاب گزینه Save، پیغامی با متن The following features cannot be saved in macro-free workbooks را خواهید دید که آن را NO کنید.
حالا مکانی که می خواهید این workbook را ذخیره کنید را انتخاب کرده و از قسمت پایین فرم کادر ذخیره، از کامبوباکس Save as type، گزینه Excel Macro-Enabled Workbook را انتخاب کنید.
در آخر هم دکمه Save را کلیک کنید.
پس از ذخیره فایل VBA، ادیتور را بسته و به Excel برگردید. در اینجا ، کلیدهای Alt + F8 را همزمان فشرده و از پیغام Macro، همین ماکرویی که ایجاد کرده اید را انتخاب و دکمه Run را کلیک کنید.
اکنون که مراحل را به طور کامل و با موفقیت پشت سر گذاشته اید، دیگر نباید که خطا ظاهر شود.
این خطا یا به دلیل خاموش بودن پروتکل DDE در اکسل و اگر Adobe Acrobat PDFMaker را به عنوان افزونه در اکسل داشته باشید و با آن تداخلی وجود داشته باشد و یا تداخلی بین Internet Explorer و اکسل وجود دارد.
ساده ترین کار در این شرایط بستن اکسل و همه برنامه ها و ریستارت کردن سیستم تان است. سپس وضعیت ارور را بررسی کنید و اگر مشکل را کماکان دارید، روش های زیر را انجام دهید.
Removing Adobe Acrobat PDFMaker
اگر extension یا افزونه Adobe Acrobat PDFMaker را در اکسل دارید، باید آن را حذف کنید و سپس وضعیت ارور را بررسی کنید.Allowing Other Applications that Use DDE
فایل اکسل را باز کرده به منوی File رفته و گزینه options را کلیک کنید.بدین ترتیب فرم Excel Options باز می شود. سپس از پانل سمت چپ گزینه Advanced را انتخاب کرده و در مقابل و از بخش General، تیک گزینه Ignore other applications that use Dynamic Data Exchange (DDE). را غیرفعال کنید.
در آخر هم فرم را OK کرده و سپس وضعیت ارور را بررسی کنید.
Ending the Internet Explorer Process
اگر مرورگر Internet Explorer در سیستم تان و حتی در پس زمینه در حال اجراست، آن را ببندید. برای این منظور task manager را باز کرده و در تب Processes، برنامه Internet Explorer را یافته، روی آن کلیک راست کرده و گزینه End task را کلیک کنید.Turn Off Compatibility Mode of Excel
روی آیکون shortcut اکسل در دسکتاپ یا در محل نصب اکسل رفته، روی آن کلیک راست کرده و Properties بگیرید.به تب Compatibility رفته و از قسمت Compatibility mode، تیک گزینه Run this program in compatibility mode for را غیرفعال و ok کنید.
حالا وضعیت ارور را بررسی کنید.
Restricting the Excel Application Messaging
اگر هنگام اجرای VBA script با خطای مذور مواجه می شوید، این روش را دنبال کنید. این روش فقط نوعی دور زدن مشکل است و واقعا مشکل را برطرف نمی کند. امابرای لحظاتی که اسکریپت اجرا می شود، می تواند از وقوع ارور جلوگیری کند.Excel را باز کرده و سپس کلیدهای Alt + F11 را فشار دهید. بدین ترتیب Microsoft Visual Basic for Applications باز می شود.
از Microsoft Excel Objects،روی گزینه ThisWorkbook کلیک راست کرده و از Insert، گزینه Module را برگزینید.
بدین ترتیب یک Module جدید در سمت راست ایجاد می شود که کد زیر را در آن Copy و paste کنید.
Private Declare Function CoRegisterMessageFilter Lib "ole32" (ByVal IFilterIn As Long, ByRef PreviousFilter) As Long
Public Sub KillMessageFilter()
Dim IMsgFilter As Long
CoRegisterMessageFilter 0&, IMsgFilter
End Sub
Public Sub RestoreMessageFilter()
Dim IMsgFilter As Long
CoRegisterMessageFilter IMsgFilter, IMsgFilter
End Sub
حتی به جای کد فوق از کد زیر هم می توانید استفاده کنید. می توانید یک Module جدید ایجاد کرده و کد را در آن کپی کنید.
Sub CreateXYZ()
Dim wdApp As Object
Dim wd As Object
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
If Err.Number <> 0 Then
Set wdApp = CreateObject("Word.Application")
End If
On Error GoTo 0
Set wd = wdApp.Documents.Open(ThisWorkbook.Path & Application.PathSeparator & "XYZ template.docm")
wdApp.Visible = True
Range("A1:B10").CopyPicture xlScreen
wd.Range.Paste
End Sub
سپس از منوی File، گزینه Save Book1 را کلیک کنید.
پس از انتخاب گزینه Save، پیغامی با متن The following features cannot be saved in macro-free workbooks را خواهید دید که آن را NO کنید.
حالا مکانی که می خواهید این workbook را ذخیره کنید را انتخاب کرده و از قسمت پایین فرم کادر ذخیره، از کامبوباکس Save as type، گزینه Excel Macro-Enabled Workbook را انتخاب کنید.
در آخر هم دکمه Save را کلیک کنید.
پس از ذخیره فایل VBA، ادیتور را بسته و به Excel برگردید. در اینجا ، کلیدهای Alt + F8 را همزمان فشرده و از پیغام Macro، همین ماکرویی که ایجاد کرده اید را انتخاب و دکمه Run را کلیک کنید.
اکنون که مراحل را به طور کامل و با موفقیت پشت سر گذاشته اید، دیگر نباید که خطا ظاهر شود.
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: