PDA

View Full Version : Replace کردن یک کلمه در یک فایل word با استفاده از کد C#



arash_sevda
سه شنبه 22 آبان 1386, 13:58 عصر
Replace کردن یک کلمه در یک فایل word با استفاده از کد C#
امیدوارم بتونین کمکم کنین:لبخندساده:

hassan razavi
سه شنبه 22 آبان 1386, 20:10 عصر
می تونید فایل رو باز کنید و کلا و یا خط به خط در یک String بریزید و با استفاده از متد Replace کارتون رو انجام بدید

arash_sevda
چهارشنبه 23 آبان 1386, 12:48 عصر
راستش قبلا این کار رو انجام دادم اما مقدار string همیشه خالی بر می گردونه
شما sample دارین؟

ir_programmer
چهارشنبه 23 آبان 1386, 13:13 عصر
ببین این میتونه کمکت کنه:

http://support.microsoft.com/kb/316384

SabaSabouhi
پنج شنبه 24 آبان 1386, 08:33 صبح
با سلام

یک شىء از جنس Word بگیر و فایل رو باز کن، بعد با استفاده از متدهاى اون شىء کارهاى مورد نظرت رو انجام بده.

صبا صبوحى

arash_sevda
شنبه 26 آبان 1386, 12:53 عصر
صبا جان من این کار رو کردم اما امکان Reaplace در متدهاش وجود نداره

arash_sevda
شنبه 26 آبان 1386, 12:56 عصر
ir_programmer (http://barnamenevis.org/forum/member.php?u=12535) تو آدرسی که فرستاده بودی چیزی در رابطه با Reaplace وجود نداشت ولی باز هم از شما ممنونم

SabaSabouhi
شنبه 26 آبان 1386, 17:06 عصر
صبا جان من این کار رو کردم اما امکان Reaplace در متدهاش وجود نداره

با سلام
راستش چون من همیشه کار رو از روش سخت‌تر انجام مى‌دم نمى‌دونم تو روش آسون‌تر چطوریه. دو جور مى‌تونى از Word یک شىء بگیرى یکیش اینه که یک ارجاع به Word نصب شده روى دستگاهت درست کنى ( روش آسون‌تر ) که عیبش اینه که فقط با همون نسخه‌ى Word درست کار مى‌کنه و روش دیگه اینه که این کار رو به صورت پویا انجام بدى ( روش سخت‌تر ) که با وجود کمى پیچیده‌تر بودن حسنش اینه که با هر نسخه از Word درست کار مى‌کنه ( البته تا 99% یعنى یه جاهایى ممکنه باز هم اشکال پیش بیاد )
من از روش دوم استفاده مى‌کنم، تو این روش نمى‌شه مستقیم متدى رو فراخوانى کرد اما متدهایى رو که من براى Replace کردن استفاده مى‌کنم این‌طورى هست:
1. اول تعداد کاراکترهاى فایل رو بدست مى‌آرم iDoc.Characters.Count
2. بعد یک Range روش مى‌سازم با متد (Doc.Range(0, Count
3. Range یک خاصیت داره که از جنس Find هست اون رو مى‌گیرم و تنظیم مى‌کنم
3.1. ()ClearFormatting
3.2. Forward=True
3.3. «متن قابل تعویض»=Text
4. این Find ما یک خاصیت داره از جنس Replacement که اون رو هم گرفته و تنظیم مى‌کنم
4.1. ()ClearFormatting
4.2. «متن جانشین»=Text
5. متد Execute از شىء Find رو با پارامتر فراخوانى مى‌کنیم. این متد 15 پارامتر داره که مقدار همگى رو Missing.Value مى‌دیم غیر از اندیس دهم ( پارامتر یازدهم ) که مقدارش رو برابر با عدد 2 مى‌گذاریم ( Wod.WdReplace.wdReplaceAll )

به همین سادگى!
مطمئن هم باش که درسته چون برنامش همین الان داره کار مى‌کنه.

صبا صبوحى

arash_sevda
یک شنبه 27 آبان 1386, 10:49 صبح
صبا جان از لطفی که داشتی و از وقتی که گذاشتی ممنون