عیب یابی VBA چشم انداز

گاهی اوقات چشم انداز VBA شده اجرا نمی شوند. Likely causes include macro security settings, missing or disabled components, or external programs starting Outlook and holding it open. علل احتمالا شامل تنظیمات امنیتی ماکرو ، گم شده و یا اجزاء غیر فعال ، و یا برنامه های خارجی با شروع چشم انداز و نگه داشتن آن را باز کنید. This page aims to present the most common causes and solutions. این صفحه تا به هدف حاضر شایعترین علل و راه حل.
Macro Security ماکرو امنیت

The most common cause of VBA code not running is the macro security setting. شایع ترین علت از کد VBA در حال اجرا نیست تنظیمات امنیتی ماکرو می باشد. The default setting does not allow any Outlook VBA code to run. تنظیمات پیش فرض اجازه نمی دهد هر کد VBA چشم انداز را اجرا کنند. For instructions on how to change the setting and test whether VBA is working, see: برای دریافت دستور العمل برای تغییر تنظیمات و تست که آیا VBA در حال کار ، نگاه کنید به :

I recommend that most people use Medium in Outlook 2003 or Warnings for all macros in Outlook 2007, because that ensures that you'll get a prompt, which will let you know that Outlook VBA has loaded. من توصیه می کنند که اکثر مردم از متوسط در چشم انداز 2003 و یا هشدار برای تمام ماکروها در چشم انداز 2007 ، چرا که تضمین می کند که شما دریافت سریع ، که به شما اجازه می دانم که چشم انداز VBA تا لود. You can use the next higher macro security setting if you sign your VBA project with the Selfcert.exe tool that comes with Office; see Writing VBA Code for Microsoft Outlook for details. شما می توانید بعد از استفاده از دفتر ماکرو عالی امنیت محیط VBA خود را امضا کنید اگر پروژه با Selfcert.exe ابزاری است که می آید با ؛ دیدن نوشتن کد VBA برای مایکروسافت چشم انداز بنیاد ویکیمدیا است.

If you choose Very High (available in Outlook 2003 only) Outlook VBA macros will not run, since Outlook 2003 has no default "trusted location." اگر شما انتخاب می کنید بسیار بالا (موجود در چشم انداز 2003) چشم انداز ماکروهای VBA شده اجرا نمی شوند ، چرا که چشم انداز 2003 به طور پیش فرض وجود ندارد "مورد اعتماد محل".

These articles from the Office Resource Kit explain macro security in detail: این مقالات از منابع دفتر کیت توضیح امنیتی ماکرو با جزئیات :

Outlook Held Open چشم انداز باز برگزار شد

If the macro security dialog doesn't open or if Alt+F11 does not open the VBA window, you may have a different problem: VBA itself isn't loading. اگر گفت و گو امنیتی ماکرو باز نمی شود یا اگر دگرساز + F11 ندارد VBA پنجره باز نشده باشند ، شما ممکن است مشکل مختلف داشته باشد : VBA خود اجرا نیست. One possible cause is that another program is starting Outlook without any user interface and, when the user starts Outlook's UI, most  COM add-ins -- including the VBA environment -- won't start up. یک علت احتمالی این است که یکی دیگر از برنامه شروع چشم انداز بدون رابط کاربر هیچ ، و هنگامی که کاربر شروع به رابط کاربر ، چشم انداز ترین کام افزودنی را قابل فهم -- از جمله محیط VBA -- و نه راه اندازی خواهد شد.

To troubleshoot, shut down Outlook and wait a few minutes. برای عیب یابی ، تعطیل و چشم انداز چند دقیقه صبر کنید. Use Ctrl+Alt+Delete to display the Task Manager and make sure that Outlook.exe is no longer running. استفاده از کنترل + دگرساز + حذف برای نشان دادن وظیفه مدیریت و مطمئن شوید که Outlook.exe دیگر در حال اجراست. If it is, you almost certainly have a program holding Outlook open; use the Task Manager to stop Outlook. اگر شما به طور تقریبا قاطعانهای داشته چشم انداز برگزاری برنامه باز ؛ استفاده از مدیریت وظیفه برای جلوگیری از چشم انداز. Then quit or disable any anti-virus, anti-spam, fax, or PDA synchronization utilities. سپس ترک یا غیر فعال کردن هر ضد ویروس ، ضد اسپم ، فکس ، کامپیوتر دستی و یا خدمات همگام. (You may want to disconnect from the Internet during this phase of the troubleshooting.) Restart Outlook and try to get into VBA. (شما ممکن است بخواهید از اینترنت قطع در طول این مرحله عیب یابی.) چشم انداز راه اندازی مجدد کنید و سعی کنید به VBA دریافت کنید. If it works, then quit Outlook and restart one of the utilities you turned off. اگر کار کرد ، سپس ترک چشم انداز و دوباره یکی از تاسیسات شما خاموش است. Restart Outlook to see if VBA runs OK. راه اندازی مجدد چشم انداز را خوب اجرا می شود اگر VBA. Repeat with the other utilities. تکرار با آب و برق دیگر. If you find one that makes it impossible to start VBA, you may need to start Outlook before you run that utility. اگر شما 1 است که باعث غیر ممکن است برای شروع VBA ، ممکن است لازم باشد قبل از شروع چشم انداز را اجرا می کنید که ابزار. Make sure that such a utility is not set to start when Windows starts, so you can start it after you run Outlook. اطمینان حاصل کنید که از جمله ابزار تنظیم نشده است که برای شروع ویندوز شروع می شود ، بنابراین شما میتوانید آن را اجرا می کنید بعد از چشم انداز شروع می شود.

VBA Not Trusted VBA قابل اعتماد نیست

Outlook supports, but does not normally set a DontTrustInstalledFiles registry value that controls whether COM add-ins are trusted. چشم انداز پشتیبانی ، ولی به طور معمول نمی مجموعه DontTrustInstalledFiles که ارزش رجیستری کنترل میکند که آیا کام افزودنی را قابل فهم هستند اعتماد کرد. VBA itself is a COM add-in, so if DontTrustInstalledFiles is set to 1 and macro security is set to High, no COM add-ins run, including VBA. VBA خود کام افزودنی در ، پس اگر DontTrustInstalledFiles به 1 مجموعه و امنیتی ماکرو به بالا تعیین می کنند ، هیچ کام اضافه اجرا فهم ، از جمله VBA.

In Outlook 2003, you can also control this option with the Tools | Macro | Security dialog, on the Trusted Publishers tab, using the Trust all installed add-ins and templates check box. در چشم انداز 2003 ، شما همچنین می توانید شاهد این گزینه با ابزار | کلان امنیت | گفت و گو ، در مورد اعتماد ناشران برگه ، با استفاده از اعتماد تمام نصب افزودنی را فهم الگوهای جعبه چک کنید.

Other Possible Causes دیگر علل ممکن

VBA is part of a default Outlook installation, but in a custom installation, it can be omitted or disabled. VBA بخشی از چشم انداز به طور پیش فرض نصب است ، اما در نصب سفارشی ، می توان آن را حذف و یا فعال نیست. Try rerunning Office or Outlook setup and, under Office Shared Features, make sure that the VBA and Visual Basic Help components are installed. سعی کنید rerunning دفتر یا تنظیم چشم انداز و تحت اداره ویژگی های به اشتراک گذاشته شده ، مطمئن شوید که VBA و بصری اجزاء اساسی راهنما هستند نصب شده است.

If you still can't find the cause, try creating a new Windows user profile. اگر شما هنوز هم می تواند علت را پیدا کند ، سعی کنید ایجاد یک پروفایل جدید ویندوز کاربر. That will provide a clue as to whether the issue is with the installation or with the particular user's settings. خواهد شد که سرنخ که آیا این موضوع با نصب یا تنظیمات خاص کاربر را فراهم کند.

چشم انداز آغاز به کار با VBA

 مانند اکثر برنامه های آفیس ، مایکروسافت چشم انداز 2000 و بعد از آن نسخه های نرم افزاری شامل ویژوال بیسیک ، جایی که شما نمی توانید کدهای خود را به طور خودکار به چشم انداز بنویسید. And, like most of the Office programs, there is no macro recorder. و مثل اکثر از برنامه های آفیس ، هیچ ضبط ماکرو وجود دارد. Fortunately, there are plenty of VBA samples here and elsewhere. خوشبختانه ، مقدار زیادی از نمونه VBA وجود دارد در اینجا و جاهای دیگر.
Getting Started شروع

Here are the absolute basics for getting started with Outlook VBA: در اینجا اصول مطلق برای کار با چشم انداز VBA شده :

  1. In Outlook 2000 to 2003, choose Tools | Macro | Security and set security to Medium . در چشم انداز 2000-2003 ، انتخاب ابزار | کلان | امنیت و امنیت را به مجموعه ای متوسط. In Outlook 2007, the macro security settings are in the Tools | Trust Center dialog. در چشم انداز 2007 ، تنظیمات امنیتی ماکرو گفت و گو در ابزار | مرکز تراست. Set macro security to Warn on all macros . امنیتی ماکرو را به در اخطار در تمام میدهند.
  2. Restart Outlook. چشم انداز راه اندازی مجدد.
  3. Press Alt + F11 to bring up the VBA environment, مطبوعات دگرساز + F11 را تا محیط VBA ،
  4. Expand the Project Explorer at upper left. گسترش پروژه اکسپلورر در سمت چپ بالا.
  5. Double-click the built-in ThisOutlookSession module to open it. دوبار کلیک کنید ساخته شده در ThisOutlookSession ماژول به آن باز شود. Accept the prompt to enable macros. پذیرش سریع برای فعال میدهند.
  6. Type or paste your code into the ThisOutlookSession module. تایپ یا پیست کنید کد خود را در ماژول ThisOutlookSession.

Here is a simple sample you can use to see if it's all working. در اینجا نمونه ساده شما می توانید استفاده کنید تا ببینید که آیا آن کار تمام است. It creates a new mail message with the subject "Hello World" and displays it: آن را ایجاد پیام جدید با ایمیل با موضوع "سلام جهان" و نمایش آن :

 Sub HelloWorldMessage() Dim msg As Outlook.MailItem Set msg = Application.CreateItem(olMailItem) msg.Subject = "Hello World!" msg.Display Set msg = Nothing End Sub زیر HelloWorldMessage () کم نور به عنوان Outlook.MailItem msg msg = تنظیم Application.CreateItem (olMailItem) msg.Subject = "سلام جهان!" msg.Display msg = تنظیم پایان هیچ چیز فرعی

برای اجرای ماکرو VBA VBA از محیط زیست ، F5 را فشار و یا کلیک بر روی دکمه اجرای در نوار ابزار. Or run it from the main Outlook window with Alt-F8. یا اجرای آن را از پنجره اصلی چشم انداز با دگرساز - F8 را بزنید. If you get an "enable macros" prompt, choose to enable. اگر شما "را فعال ماکرو" اعلان را انتخاب کنید برای فعال.

About the Application Object درباره برنامه شیء

Application is an intrinsic object that represents the running Outlook application. برنامه شی ذاتی است که نشان دهنده چشم انداز برنامه در حال اجرا می باشد. To avoid security prompts , you should derive all Outlook objects in your code from this intrinsic Application object, as in this statement that creates a new mail message: برای جلوگیری از امنیتی دهید ، شما باید شی مشتق چشم انداز تمام اشیاء خود را در کد برنامه ذاتی از این ، همانطور که در این بیانیه که ایجاد یک پیام ایمیل جدید :

Set msg = Application.CreateItem(olMailItem) تنظیم msg = Application.CreateItem (olMailItem)

For an example of how to get a "trusted" MailItem object derived from Application when writing a procedure for use with an Outlook "run a script" rule action, see: برای مثال از چگونگی دریافت "اعتماد" MailItem شیء بدست آمده از برنامه هنگام نوشتن روش برای استفاده با چشم انداز "اجرای اسکریپت" اقدام حکومت ، نگاه کنید به :

If you want to write a macro that operates on either an open item or an item selected in a folder, you can add the GetCurrentItem() function to your VBA project. اگر می خواهید برای نوشتن یک ماکرو که عمل در هر دو آیتم باز کردن و یا آیتم انتخاب شده در پوشه ، شما می توانید اضافه کردن GetCurrentItem تابع () به VBA پروژه شما. Just remember to change this statement: فقط این بیانیه به تغییر یاد داشته باشید :

Set objApp = CreateObject("Outlook.Application") objApp تنظیم = CreateObject ("Outlook.Application")

to: به :

Set objApp = Application objApp تنظیم = کاربرد

so that it uses the intrinsic Application object. به طوری که آن را با استفاده از برنامه ذاتی شی.

To process all the items selected in Outlook's main window, first return the ActiveExplorer.Selection collection: به فرایند تمام آیتم های انتخاب شده در پنجره اصلی چشم انداز است ، بازگشت به ابتدا مجموعه ActiveExplorer.Selection :

Set colSel = Application.ActiveExplorer.Selection تنظیم colSel = Application.ActiveExplorer.Selection

To perform some action on the currently open item, first return the ActiveInspector.CurrentItem object: برای انجام برخی اقدامات در حال حاضر مورد باز ، 1 بازگشت شی ActiveInspector.CurrentItem :

Set objItem = Application.ActiveInspector.CurrentItem objItem تنظیم = Application.ActiveInspector.CurrentItem