كيف يمكن تطبيق VBA استخدام الصحيح الذي بني في أنماط عبر الإنكليزي والفرنسي ويندوز / وورد
سؤال
وأنا وضعت كلمة تقرير عام 2003 تطبيق الجيل الذي يستخرج بيانات من قاعدة بيانات.
ومعظم المنظمة تستخدم الإصدارات الإنكليزية من ويندوز وأوفيس. ولكن، العديد من المستخدمين في المكتب الفرنسي لدينا استخدام الإصدارات المحلية. إذا كنت تستخدم أي من Word الذي بني في أنماط العناوين العنوان (1-9)، والنسخة الفرنسية تتوقع عيار (1-9).
في حل بلدي الحالي، ومجموعات المستخدمين خيار نموذج وVBA يفعل ما يلي:
Dim HeadingStyle as String
Dim HeadingLevel as Integer
If ChooseReportFrm.FrenchOpt.Value = True Then
HeadingStyle = "Titre "
Else
HeadingStyle = "Heading "
End If
...
Call InsertText(HeadingStyle & CStr(HeadingLevel))
وأود أن جعل هذه العملية آلية وشفافة تماما للمستخدم. لقد تم البحث عبثا عن وسيلة في موقع مستقل لتعيين نمط الصحيح، مثل ثابت تعداد. لا أحد لديه أي أفكار عن حل أكثر أناقة؟
المحلول
وإلقاء نظرة على في WdBuiltinStyle
تعداد .
عند تعيين الأساليب، ويمكنك القيام بذلك عن طريق بهم <لأ href = "http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.style.namelocal(office.11) .aspx اتصال "يختلط =" نوفولو noreferrer "> اسم محلي (وهو ما يبدو لك أن تفعل الآن)، ولكن يمكنك أيضا استخدام إحدى القيم التعداد، في قضيتك تعيين الخاصية Style
إلى WdBuiltinStyle.wdStyleHeading1
ستفعل خدعة.
Dim para As Paragraph
Set para = ActiveDocument.Paragraphs(1)
para.Style = WdBuiltinStyle.wdStyleHeading1