كيفية استبعاد مربع حوار المعروضة بواسطة تطبيق Office مع Visual Basic

انتهاء دعم Office 2003

لقد أنهت شركة Microsoft دعم Office 2003 في 8 أبريل، 2014. وقد أثر هذا التغيير على تحديثات البرامج لديك وخيارات الأمان الخاصة بك. تعرف على ما يعنيه ذلك فيما يتعلق بك وكيفية الحفاظ على حمايتك.

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية259971
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الموجز
عندما يتم أتمتة تطبيق Office من Visual Basic (VB) ، قد يتم تطبيق Office عرض مربع حوار. مربع الحوار يؤدي إلى ظهور توقف عن الاستجابة (أو يحدث تعليق) لأن ينتظر VB إلى مربع الحوار أن يتم رفض التطبيق Visual Basic. يجب أن يتم رفض مربع الحوار قبل متابعة تطبيق Visual Basic.

تتناول هذه المقالة كيفية استخدام طراز الكائن لتطبيقات Office لتجنب مربعات الحوار أثناء التنفيذ. كما يوفر مثال خطوة بخطوة حول كيفية محاكاة إدخال المستخدم برمجياً لإخفاء مربع حوار يمكن تجنب باستخدام المعتاد الخصائص و الأساليب التي تم عرضها في طرازات كائن.
معلومات أخرى
في بعض الأوقات قد تحتاج إلى تطبيق Office أتمتة ولكن لا يتطلب أي تدخل من المستخدم مع تطبيقات Office. في هذه الحالة، إذا تطبيق Office بعرض مربع حوار ، يظهر التطبيق الخاص بك عن الاستجابة حتى يمكن استبعاد مستخدم في مربع الحوار. ومع ذلك، قد لا يكون هناك مستخدم تجلس أمام الكمبيوتر الذين يمكن استبعاد مربع الحوار.

تطبيقات Office غير مُصممة من أجل تنفيذ غير المراقب. لذلك، تطبيق بأتمتة Office قد تقابل مربع حوار المعروضة بواسطة تطبيق Office. من اختبار العادي من التطبيق, يمكنك تحديد أي الحوار مربعات تحدث و كتابة التعليمات البرمجية الخاصة بك لتجنب هذه المربعات مربعات حوار معينة عادةً.

من المستحسن التالية بعض استخدام تقنيات لتجنب مربعات الحوار أثناء أتمتة برنامج Office التطبيق:
  • تحديد ما إذا الخاصية أو الأسلوب الذي تستخدمه (واحد التي تتسبب في مربع الحوار) يحتوي وسيطات اختيارية يمكنك تمرير إليه. في بعض الأحيان، بتمرير كافة الوسيطات إلى خاصية أو أسلوب يمكنك تجنب مربع حوار. على سبيل المثال، إذا كنت تستخدم أسلوب فتح لفتح مصنف Excel "و" هذا المصنف محمي كلمة مرور ، يعرض Excel مربع حوار يطلب المستخدم بإدخال كلمة المرور إذا لم توفر الوسيطة كلمة المرور عند استدعاء أسلوب فتح. لتجنب مربع الحوار توفير قيمة للوسيطة كلمة المرور عند استدعاء الأسلوب. وبالمثل، عند استخدام الأسلوب إغلاق لإغلاق مستند ، غالباً يساعد لتحديد وسيطة SaveChanges لتجنب مربع حوار يطلب المستخدم لحفظ التغييرات. للحصول على معلومات إضافية حول كيفية تحديد ما هي الوسائط تتوفر الخاصية أو الأسلوب الذي يتم الاتصال انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft:
    222101كيفية البحث وثائق طراز كائن Office واستخدامها
  • لدراسة طراز كائن من تطبيق Office لمعرفة ما إذا قد تكون هناك خاصية يمنع لمربعات حوار معيّنة. على سبيل المثال، يحتوي الكائن Excel التطبيقAskToUpdateLinks وخصائص AlertBeforeOverwriting.
  • تعيين الخاصية Application.DisplayAlerts (Excel، Project، Word) أو استخدم Application.DoCmd.SetWarnings False (الوصول فقط) لإيقاف تشغيل عرض رسائل التنبيه. يمكن أن تكون معظم ولكن ليس كافة مربعات الحوار تجنب استخدام هذا الإعداد.
  • تعيين الخاصية Application.FeatureInstall (Office 2000 والإصدارات الأحدث) لمعالجة ممكن مربعات الحوار "هذه الميزة غير مثبت..." عند الوصول إلى مكون الذي قد لا يكون مثبتاً على نظام المستخدم.
  • محاولة استخدام العبارة خطأ على تجنب رسائل خطأ وقت التشغيل التي قد تحدث في, مثل عند تعيين Application.ActivePrinter عند تثبيت أي برنامج تشغيل الطابعة على نظام المستخدم.
  • اختبار التطبيق الخاص بك تمامًا للمساعدة في توقع تحدث مربعات الحوار. على سبيل المثال، افترض أن استدعاء الأسلوب SaveAs من تطبيق Office لحفظ ملف. إذا كان الملف موجوداً مسبقاً، قد يظهر مربع حوار يطلب تأكيد استبدال الملف الموجود. في حالة تعديل التعليمات البرمجية للتحقق من وجود الملف قبل استدعاء الأسلوب SaveAs يمكنك تجنب احتمال ظهور مربع الحوار. على سبيل المثال، إذا كان الملف موجوداً مسبقاً، حذفه باستخدام العبارة إنهاء قبل استدعاء الأسلوب SaveAs.
ملاحظة حتى في حالة استخدام هذه التقنيات ومن بعناية تصميم التطبيق الخاص بك لتجنب مربعات الحوار التي قد لا يزال يتم faced مع موقف حيث لا يمكن تجنب مربع حوار مع أساليب وخصائص كشف في طراز كائن تطبيق Office. في مثل قد يكون من الضروري على لإخفاء مربع حوار بشكل برمجي بواسطة إجراء محاكاة إدخال المستخدم. يوضح العرض التوضيحي التالي كيفية ذلك يمكن تحقيق مع عميل التنفيذ Visual Basic.

نموذج

توضح الخطوات في هذا المقطع الأتمتة من Microsoft Word طباعة مستند. المكالمات العميل التنفيذ أسلوب PrintOut لكائن Word المستند. إذا تم تكوين الطابعة الافتراضية للمستخدم إلى المنفذ FILE استدعاء PrintOut تنتج مربع حوار مطالبة المستخدم بإدخال اسم ملف. لتحديد ما إذا كان أسلوب PrintOut يؤدي إلى ظهور مربع الحوار هذا يستخدم العميل التنفيذ Visual Basic عنصر تحكم مؤقت للكشف عن وقت الخمول بعد استدعاء أسلوب PrintOut. قبل استدعاء PrintOut ، مؤقت يتم تمكين وتعيين إلى إطلاق في خمس ثوانٍ. عند اكتمال PrintOutالمؤقت معطل. لذلك، إذا إكمال الأسلوب PrintOut ضمن خمس ثوان لن يتم إجراء الحدث Timer ثم اتخاذ أي إجراء آخر. طباعة المستند ويستمر تنفيذ تعليمات برمجية خارج أسلوب PrintOut. ومع ذلك، في حالة حدوث الحدث Timer ضمن الفاصل الزمني الثاني خمس يفترض أنه لم يتم إكمال الأسلوب PrintOut ثم يعود التأخير مربع حوار انتظار إدخال من قبل المستخدم. عند إجراء الحدث Timer العميل التنفيذ يركز إلى Word ويستخدم SendKeys لإخفاء مربع الحوار.

ملاحظة لأغراض العرض التوضيحي هذا النموذج يستخدم أسلوب PrintOut بطريقة يمكن أن يعرض مربع حوار متعمد عند الطباعة إلى تعيين طابعة إلى منفذ FILE. الرجاء ملاحظة أن يحتوي الأسلوب على PrintOut الوسيطتين OutputfileName و PrintToFile ، التي يمكنك توفير لتجنب مربع الحوار هذا.

بالإضافة إلى ذلك، عند استخدام هذا الأسلوب "مؤقت" ، الذي يمكن تخصيص وقت الانتظار بحيث يكون أكبر أو أقل من خمس ثواني ، بالإضافة إلى تخصيص ضغطات المفاتيح إرسال إلى مربع الحوار.

يتكون هذا العرض التوضيحي المشاريع Visual Basic اثنين:
  1. EXE ActiveX يوفر فئة مؤقت المستخدمة للكشف عن تأخير. رمز السبب لاستخدام EXE ActiveX الخاص تشغيل المؤقت في فئة مؤقت في عملية منفصلة ، ولذلك، مؤشر ترابط منفصل. يجعل هذا من الممكن فئة مؤقت لرفع حدث أثناء إجراء مكالمة التنفيذ التلقائي التوقف مرحلي.
  2. EXE القياسية التي تستخدم التنفيذ التلقائي إلى Word ومن باستدعاء أسلوب PrintOut لطباعة مستند. ويستخدم EXE ActiveX للكشف عن تأخير عند استدعاء الأسلوب PrintOut.
إنشاء مشروع ActiveX EXE
  1. قم بتشغيل Visual Basic ثم إنشاء مشروع ActiveX EXE. يتم إنشاء Class1 بشكل افتراضي.
  2. من القائمة المشروع انقر فوق خصائص ثم قم بتغيير اسم المشروع إلى MyTimer.
  3. نسخ ولصق التعليمة البرمجية التالية داخل الوحدة النمطية Class1:
    Option ExplicitPublic Event Timer()Private oForm1 As Form1Private Sub Class_Initialize()    Set oForm1 = New Form1    oForm1.Timer1.Enabled = FalseEnd SubPrivate Sub Class_Terminate()    Me.Enabled = False    Unload oForm1    Set oForm1 = NothingEnd SubPublic Property Get Enabled() As Boolean    Enabled = oForm1.Timer1.EnabledEnd PropertyPublic Property Let Enabled(ByVal vNewValue As Boolean)    oForm1.Timer1.Enabled = vNewValue    If vNewValue = True Then        Set oForm1.oClass1 = Me    Else        Set oForm1.oClass1 = Nothing    End IfEnd PropertyPublic Property Get Interval() As Integer    Interval = oForm1.Timer1.IntervalEnd PropertyPublic Property Let Interval(ByVal vNewValue As Integer)    oForm1.Timer1.Interval = vNewValueEnd PropertyFriend Sub TimerEvent()    RaiseEvent TimerEnd Sub					
  4. من القائمة المشروع اختيار إضافة نموذج إلى إضافة نموذج جديد إلى المشروع.
  5. إضافة عنصر تحكم مؤقت إلى النموذج.
  6. نسخ ولصق التعليمة البرمجية التالية في الوحدة النمطية للتعليمات البرمجية لـ Form1:
    Option ExplicitPublic oClass1 As Class1Private Sub Timer1_Timer()    oClass1.TimerEventEnd Sub					
  7. حفظ هذا المشروع في مجلد فرعي جديد باسم الملقم.
  8. من القائمة ملف، اختر جعل MyTimer.Exe إنشاء المكون وتسجيله.
إنشاء عميل التنفيذ
  1. إنشاء مشروع EXE قياسي جديد في Visual Basic. يتم إنشاء Form1 بشكل افتراضي.
  2. إضافة عنصر تحكم CommandButton إلى النموذج.
  3. من القائمة المشروع حدد مراجع. إضافة مراجع إلى مكتبة كائنات Microsoft Word 8.0 (أو 9.0, أو 10.0) وإلى MyTimer.
  4. نسخ ولصق التعليمة البرمجية التالية إلى الوحدة النمطية للنموذج:
    Option ExplicitPrivate oWord As Word.ApplicationPrivate strWordCaption As StringPrivate WithEvents oMyTimer As MyTimer.Class1Private Sub Form_Load()    'Create MyTimer object, and then disable it by default:    Set oMyTimer = New MyTimer.Class1    oMyTimer.Enabled = FalseEnd SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)    'Terminate MyTimer object when the form is closed:    oMyTimer.Enabled = False    Set oMyTimer = NothingEnd SubPrivate Sub Command1_Click()    On Error GoTo ErrorHandler        'Create a new Word instance and put text in the new document:    Set oWord = CreateObject("Word.Application")    oWord.Visible = True    oWord.Documents.Add    oWord.Selection.TypeText "Hello World!"        'Prepare Timer to "watch out" for a delay in calling PrintOut:    strWordCaption = GetWordCaption 'for use with AppActivate    oMyTimer.Interval = 5000 'allow 5 second wait time    oMyTimer.Enabled = True            'Call the PrintOut method, which may prompt the user to select    'an output file name if the default printer is set to FILE:    oWord.PrintOut Background:=FalseDone:    On Error Resume Next    'Turn off Timer:    oMyTimer.Enabled = False        'Close document and quit the Word instance:    oWord.ActiveDocument.Close SaveChanges:=False    oWord.Quit    Set oWord = Nothing    Exit SubErrorHandler:    Resume DoneEnd SubPrivate Sub oMyTimer_Timer()'If this event occurs, there was a delay in calling PrintOut.'You can assume that the delay is caused by a dialog box prompting'for an output file name because the user has the printer'configured to print to FILE. SendKeys is used to provide the'output file name and dismiss the dialog box.    Dim strKeys As String        On Error Resume Next        'Make sure that Word has the focus before using SendKeys to it:    AppActivate strWordCaption 'Set focus to Word.        'Send keystrokes to enter the output file name:    If Right$(App.Path, 1) = "\" Then        strKeys = App.Path & "MyOutput.prn"    Else        strKeys = App.Path & "\MyOutput.prn"    End If    Kill strKeys 'make sure file does not already exist    strKeys = strKeys & "~" '~ represents the OK button to dismiss dialog    SendKeys strKeys, True           'Disable MyTimer:    oMyTimer.Enabled = FalseEnd SubPrivate Function GetWordCaption() As String'Returns the Word Caption. For use with the AppActivate statement    Dim s As String    On Error Resume Next    If Left$(oWord.Version, 1) = "8" Then        'Word 97 logic:        s = oWord.Caption    Else        'Word 2000 or 2002 logic:        Err.Clear        s = oWord.ActiveWindow.Caption        If Err.Number = 0 Then 'no error            s = s & " - " & oWord.Caption        Else            s = oWord.Caption        End If    End If    GetWordCaption = sEnd Function					
  5. حفظ هذا المشروع في مجلد فرعي جديد باسم عميل.
  6. اضغط المفتاح F5 لتشغيل المشروع. يظهر "Form1".
  7. انقر فوق Command1 في النموذج. هذا يجعل Word يضيف مستند جديد بنص و ثم يرسله إلى الطابعة بواسطة استخدام الأسلوب PrintOut. لم تكن ترى مربع حوار إذا تم تكوين الطابعة للطباعة إلى طابعة.
  8. في "لوحة تحكم Windows،" تغيير الطابعة الافتراضية حتى يتم تكوينه إلى المنفذ FILE.
  9. انقر فوق Command1 مرة أخرى ولاحظ ظهور مربع حوار في Word. لا لإغلاق مربع الحوار في الانتظار لمدة خمس ثوان ثم يتم رفض مربع الحوار بشكل برمجي عند حدوث الحدث Timer. يتم إنشاء ملف إخراج المسماة MyOutput.prn في المجلد الفرعي عميل.
تقدم Microsoft الأمثلة البرمجية فقط دون أي ضمان التعبير عن أو ضمنية ، ، لا الحصر إلى ضمانات القابلية للتسويق و/أو الملاءمة لغرض معين. تفترض هذه المقالة أنك معتاد على لغة البرمجة التي تم شرحها والأدوات المستخدمة لإنشاء الإجراءات وتصحيحها. يمكن أن يساعد إخصائيي الدعم Microsoft شرح وظيفة إجراء محدد ولكن لن يقوموا بتعديل هذه الأمثلة لتقديم وظيفة إضافية أو إنشاء إجراءات لتلبية احتياجاتك المحددة.
إذا كان يجب أن يكون لديك خبرة محدودة في مجال البرمجة، قد تحتاج إلى الاتصال بشريك Microsoft أو خدمات النصائح. لمزيد من المعلومات، قم بزيارة مواقع ويب Microsoft هذه:

Microsoft المعتمدين Partners – https://partner.microsoft.com/global/30000104

خدمات Microsoft المستند الذي يقدم النصائح - http://support.microsoft.com/gp/advisoryservice

للحصول على مزيد من المعلومات حول خيارات الدعم المتوفرة وحول كيفية الاتصال بشركة Microsoft قم بزيارة موقع Microsoft التالي على الويب: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
مراجع
للحصول على معلومات إضافية، انقر فوق أرقام المقالات التالية لعرضها في "قاعدة المعارف لـ Microsoft:
257757INFO: اعتبارات التنفيذ التلقائي من جانب الخادم من Office
226118OFF2000: برمجة الموارد Visual Basic للتطبيقات
253235FILE: Offautmn.exe تتناول هذه المقالة Office 97 "و" التنفيذ التلقائي 2000 كما يوفر نموذج التعليمات البرمجية
للحصول على معلومات إضافية حول أتمتة Office بزيارة مركز دعم تطوير Office في موقع Microsoft التالي على الويب:

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 259971 - آخر مراجعة: 12/05/2015 19:46:52 - المراجعة: 6.7

Microsoft Office Access 2003, Microsoft Access 2002 Standard Edition, Microsoft Access 2000 Standard Edition, Microsoft Access 97 Standard Edition, Microsoft Office Excel 2003, Microsoft Excel 2002 Standard Edition, Microsoft Excel 2000 Standard Edition, Microsoft Excel 97 Standard Edition, Microsoft Office PowerPoint 2003, Microsoft PowerPoint 2002 Standard Edition, Microsoft PowerPoint 2000 Standard Edition, Microsoft PowerPoint 97 Standard Edition, Microsoft Office Word 2003, Microsoft Word 2002 Standard Edition, Microsoft Word 2000 Standard Edition, Microsoft Word 97 Standard Edition, Microsoft Visual Basic 5.0 Professional Edition, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic 5.0 Enterprise Edition, Microsoft Visual Basic Enterprise Edition for Windows 6.0

  • kbnosurvey kbarchive kbmt kbautomation kbhowto kbprogramming KB259971 KbMtar
تعليقات