كيفية تغيير كلمة.مجموعة النص دون أن تفقد الشكل
-
04-07-2019 - |
سؤال
أي شخص يعرف كيف يمكنني تغيير نص كلمة.مجموعة وجوه ولكن لا تزال تحتفظ هو تنسيق ؟ على سبيل المثال إذا كان لدي "هذا النص"وأنا تغييره إلى "أن txt"،txt سوف يكون لا يزال في جريئة.
أنا أبحث عن طريقة تغيير النص الكامل النطاق ، ليس فقط كلمة واحدة ، كما أتقدم النص الجديد مستقلة من API, أنا يمكن أن نفترض أن النص الجديد و النص القديم لديها نفس العدد من الكلمات.
هذا ما لدي حتى الآن:
for (int i = 0; i < oldWords.Length; i++)
{
if (oldWords[i] == newWords[i])
continue;
object Replace = WdReplace.wdReplaceOne;
object FindText = oldWords[i];
object ReplaceWith = newWords[i];
var success = Sentence.Find.Execute(parameters stub);
}
ولكن لسبب ما ، فإنه ينجح فقط في أول تنفيذ, لأن مجموعة مختارة يبقى على العثور على الكلمة.
تحرير:حصلت عليه بعد تنفيذ كل, كان استعادة الأصلي نهاية الموقف من نطاق بلدي.
شكرا
المحلول
لا يمكنك استخدام Execute
طريقة تغيير النص مع التنسيق.يمكنك أن تفعل ذلك مثل:
Range rng=doc.Content;
rng.Find.Execute(ref finding, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing)
//if this method returns true, you will get the range at the finding location.
if(rng.Find.Found)
{
rng.Text='sth';
rng.Bold=0;
}
ربما يكون هذا يمكن أن تساعدك.
لا تنتمي إلى StackOverflow