الأعراض
عند تشغيل ماكرو Visual Basic for Applications في Microsoft Excel، قد تتلقى رسالة الخطأ التالية أو المماثلة:
فشل خطأ وقت التشغيل '1004':
الأسلوب 'SaveAs' للكائن '_Worksheet'السبب
يمكن أن يحدث هذا السلوك عندما يكون كل من الشروط التالية صحيحا:
-
أنت تستخدم ماكرو Visual Basic for Applications لحفظ ورقة عمل.
-و- -
يمكنك تحديد تنسيق الملف ك xlWorkbookNormal الثابت.
على سبيل المثال، تتسبب التعليمات البرمجية التالية في حدوث هذا الخطأ:
Sub A()
Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=xlWorkbookNormal End Sub
الحل البديل
تقدم Microsoft أمثلة برمجية للتوضيح فقط، دون أي ضمان صريح أو ضمني، وتتضمن هذه الأمثلة، على سبيل المثال لا الحصر، الضمانات الضمنية الخاصة بالقابلية للتسويق و/أو الملاءمة لغرض معين. تفترض هذه المقالة أنك معتاد على لغة البرمجة التي يتم شرحها والأدوات المستخدمة لإنشاء الإجراءات وتصحيحها. يمكن لمتخصصي دعم Microsoft المساعدة في شرح وظيفة إجراء محدد، ولكن لن يقوموا بتعديل هذه الأمثلة لتقديم وظيفة إضافية أو إنشاء إجراءات تلبي احتياجاتك الخاصة. - https://partner.microsoft.com/global/30000104 Microsoft Advisory Services - http://support.microsoft.com/gp/advisoryservice للحصول على مزيد من المعلومات حول خيارات الدعم المتوفرة وكيفية الاتصال ب Microsoft، تفضل بزيارة موقع Microsoft على ويب التالي:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS ل حل هذا السلوك، غير مواصفات تنسيق الملف من xlWorkbookNormal الثابت إلى 1. يعمل المثال عادة إذا تم تغيير التعليمات البرمجية إلى:
إذا كانت لديك تجربة برمجة محدودة، فقد تحتاج إلى الاتصال ب "شريك معتمد من Microsoft" أو "خدمات استشارية من Microsoft". للحصول على مزيد من المعلومات، تفضل بزيارة مواقع Microsoft على الويب هذه: شركاء معتمدون من MicrosoftSub A()
Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1 End Sub
ملاحظة على الرغم من حفظ ورقة عمل، يتم حفظ كل أوراق العمل في المصنف المحدد عند تعيين تنسيق الملف إلى xlWorkbookNormal أو 1.
الحالة
لقد تأكدت Microsoft من أن هذه مشكلة في منتجات Microsoft المدرجة في بداية هذه المقالة.