كيف يمكن تطبيق VBA استخدام الصحيح الذي بني في أنماط عبر الإنكليزي والفرنسي ويندوز / وورد

StackOverflow https://stackoverflow.com/questions/807327

  •  03-07-2019
  •  | 
  •  

سؤال

وأنا وضعت كلمة تقرير عام 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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top