PDA

View Full Version : اجرای برنامه Word 2007 در C#.Net 3.5؟!



taghvajou
پنج شنبه 16 آبان 1387, 00:19 صبح
سلام به همه
لطفا اگه در مورد چگونگی اجرای برنامه Word 2007 داخل فرم برنامه (ٌWindows Form Application) با زبان سی شارپ اطلاعات، document، مطلب آموزشی و sample ی دارین، از دوستان خودتون دریغ نکنین! ما موفق شدیم تو VB.Net یه فایل doc درست کنیم البته بدون اینکه word رو تو application خودم و تو فرم مورد نظر از برنامه اجرا بشه یعنی موفقیت محدود: با استفاده از ساختن وفرمت بندی پاراگرافها مطالبی رو وارد فایل کرده شد اونم با new کردن یه document ا. اولا همین کار رو هم با سی شارپ نمیشه چون: 1- تابع مشابه در سی شارپ nتا پارامتر میخواد که همه ref object هستند و هیچ راهنمایی در MSDN در نحوه و نوع اون اشیا نیومده!(حتی پر رو پر رو نوشتن که این توابع internal هستند و شما نمی توانین در کدتان استفاده کنین:متفکر:) البته موفق شدم که wordرو از طریق برنامه خودمون (C#.Net) به صورت مستقیم run کنم ولی به همین دلیل بالا، تابع open برای فراخوانی یه doc خاص هم توسط دوستان در microsoft طلسم شده!:گریه:
2- برخلاف vb.net تمام آرگومانهای ورودی در تابع مزبور در سی شارپ اجباری و non-optionalial هستند و خودتو تا آخرشو بخونین!!
بعدی از اینکه از بررسی و مطالعه راهنمایی ها و سمپلهای سایر کدنویس های code project و C# Corner دست از پا درازتر برگشت خورده شدیم، دیکه کم آوردم و دست به دامن دوستان متخصصم شدم:گیج:
پیشاپیش از راهنمایی هایی که می کنین و یا همین که دوست دارین ولی نمی تونین و حداقل تو دلتون یه دعایی واسه بنده می کنین و یه فحش به مایکروسافت میدین متشکر و مخلصیم

taghvajou
سه شنبه 21 آبان 1387, 14:28 عصر
دوباره سلام به همه
اولا از دوستان خواهش می کنم بعداز خوندن این تاپیک، حتی اگه نکته ای برای راهنمایی کردن ندارین ولی در اظهار همدردی کردن با بنده و یا هر جمله ای که بر تسکین درد سوزناک موثر باشه کوتاهی نکنین.
ضمنا در این مورد هم بنده بعد از گذشت چند روز از نوشتن تاپیک، تنها موفق شدم نمونه کاری در code project پیدا کنم یکی خودشم تو VB.NET که بعد از دیدنش، به نظرم طرف قهوه ای کرده بود و دیگری تو سی شارپ که بنده خدا خر کد نویسی کرده بود ولی متأسفانه توضیح کافی نذاشته بود.
البته ما هم بیکارنموندیم و یه قدم پیش گذاشتم: یه class library تو vb.net که کارهایی که می خواستیم رو انجام بده و بعد اونو به پروژه سی شارپمون اضافه کرده و سعی کردم جایی برسم که می خوام ولی بازهم نتونستم از توابعی که تو وی بی نوشتم به خوبی استفاده کنم (همون مسئله که پارامترهای توابع که تو وی بی اختیاری بودند تو سی شارپ همه اجباریند. خلاصه دیگه چی بگم.
یکی از همکارام پیشنهاد نوشتن یه wrapper میده! کی میره این همه راه رو؟!

دارم به این نتیجه میرسم که این قسمت از برنامه رو قاطی پاطی کنم یعنی جاهای لازمو با وی بی بنویسم. آخه بدبختی یکی دوتا نیست که! یه نیاز جدید هم به صف انتظارات اضافه شده و اون هم شده قوز بالا قوز: گذاشتن یه عکس توی فایلهای word و ذخیره اونها تو قالب pdf و دست آخر آماده سازی برای ارسال با Fax
کمک!
خلاصه "هم اکنون نیازمند یاری سبزتان هستیم"
بنیاد امور آفیس به کارگیران خاص

taghvajou
پنج شنبه 30 آبان 1387, 16:07 عصر
سه باره سلام به همه
میترسم آخرش کارم به هزارباره سلام برسه و باز هم خودم باشم که جواب خودمو میدم
یه قدم پیش رفت: تو vb.net نوشتن یه class library و استفاده اون تو برنامه ولی باز هم مشکل پارامترهای اختیاری که در vb اختیاری تعریف شده ولی تو سی شارپ باز هم همه اجباریند.
یکی از همکارام پیشنهاد نوشتن یه wrapper رو میده که اووووووووه کی میره این همه راه رو!
کسی کمک نمی کنه؟!

s_ahmadneya
یک شنبه 03 آذر 1387, 19:34 عصر
لینک زیر را چک کنید. و تمامی پستها اینجانب را جستجو کنید مشکلتان رفع می شود.http://barnamenevis.org/forum/showthread.php?t=131017

taghvajou
یک شنبه 10 آذر 1387, 17:28 عصر
سلام به همه
واقعا نکته خوبی رو گفتین که کارمونو راه انداخت!
کاری که خودمون هم داریم می کنیم تموم شد می ذاریم اینجا واسه بقیه!
یکی دو تا نکته کور هست که باید حل بشه که راهنمایی دوستمون حل نکرده
موفق++

s_ahmadneya
دوشنبه 11 آذر 1387, 07:42 صبح
سلام به همه
واقعا نکته خوبی رو گفتین که کارمونو راه انداخت!
کاری که خودمون هم داریم می کنیم تموم شد می ذاریم اینجا واسه بقیه!
یکی دو تا نکته کور هست که باید حل بشه که راهنمایی دوستمون حل نکرده
موفق++
بهتر برنامه تحت وب بنویسی اینطوره بهتره من دارم روی برنامه تحت وب کار می کنم بنظرم بتونیم به کمک بچه ها برنامه جالب بنویسیم

taghvajou
سه شنبه 27 اسفند 1387, 09:54 صبح
ممنونم ولی نکته گیر کار، استفاده از interop نیست. بلکه استفاده ی objectیه! باز کردن فایل با ساختن یه نمونه و اجرا در یک پروسس و دست آخر هم باز کردن فایل با دستور اپن کار خیلی پیچیده ای نیست. می خوایم برنامه ورد رو تو فرم خودمون باز کنیم بدون فراخوانی و لانچ اصل برنامه. در این باره خوشحال میشم اگه چیزی دارین بگین

taghvajou
سه شنبه 27 اسفند 1387, 09:59 صبح
البته ناگفته نماند با 2003 میشه این کار رو کرد. کافیه که به رفرنس ها اضافه کنین و بعد بندازین رو فرم. یه نکته دیکه اینکه ماهیت ورد 2007 کار با open Xml است. یعنی قالب ذخیره سازی بر مبنای ایکس ام ال انجام میشه! ما نوشتن یه لایبرری که وظیفه اش نوشتن یه فایل وردdoc باشه. در مورد فایلهای docx هم کاملا مطالعه کردیم و کدنویسی شو به یه جاهایی رسوندیم. موضوع از این قراره که
موضوع فایلهای Docx اینه که این فایلهای از مجموعه سه فایل xml تشکیل میشه که محتوا قالب و جزئیات اونهارو می نمایشه. برای دیدن این مطلب پسوند docx رو به zip تبدیل کنین و برین توش می بینین. حالا ما هم با در اوردن DTD مربوط به این ایکس ام ال در حال نوشتن یه کلاسی هستیم که اونو تولید کنه. ولی باز هم نکته باقیه که برای اجرا نیاز به launch ورد هست که نمیخواهیم.

taghvajou
سه شنبه 27 اسفند 1387, 10:00 صبح
سلام دوباره با تشکر از دوستون جناب گودرزی: اگه منظورشون استفاده از کتابخانه OpenXMLSDK که دو تا ورژن توسط مایکروسافت ارائه شده جهت تولید فایلهای بر مبنای اپن ایکس ام ال باشه که بنده هم این رو تو پست آخر خدمتشون عرض کردم. و میشه یه فایل مثلا Docx رو با استفاده از این کتابخونه ساخت.
گه منظورشون تولید فایل doc با استفاده از Interop مربوط به ورده، عارضم که استفاده از این کمپوننت منوط به نصب ورد تو سیستمه و در صورت نبود اون راهی برای رجیستر کردن کام اون نیست. اگر شما اشاره به باز کردن و نمایش دارین که توضیح دادم که اینکار رو چطور میشه کرد که این موضوع خودش وابسته به ورده! یعنی تو ورد 2007 نمیشه کنترلی در قالب آبجکت تو فرم انداخت و برای اجراش به جای لانچ کردن خود ورد، فایل مورد نظر رو همونجا نمایش داد. اگر شما راهی دارین دقیق و مشخص توضیح بدین. ممنون

taghvajou
سه شنبه 27 اسفند 1387, 10:01 صبح
ممنون میشم که بگین کدوم کلاس، نیم اسپیس و یا حتی آیا از ام اس دی ان میگین یا سایت یا جایی دیگه این مطلب رو مطالعه کردین. خلاصه ما کاملتر هدایت کنین که صرف گفتن اینکه "خود .Net این قابلیت داره!" نمی تونه به منی که چند مدته دارم روش مطالعه و کار میکنم یاری بخش باشه. منتظر پاسختون هستم. موفق++

taghvajou
یک شنبه 03 خرداد 1388, 14:59 عصر
با سلام مجدد
یکی از دوستان بنده (خانم عایشه کرد) لطف کردند و یک مجموعه کمپوننت رو معرفی کردن با نام Ultra Office Control که به پیوست خدمتتون تقدیم می کنم. ازشون خیلی متشکریم
ضمنا بنده هنوز از تئوری تشکیل تیم برای تهیه کمپونن مورد نظر به سفارش آقای احمدنیا هستم و منتظر اعلام آمادگی دوستان!:تشویق:

vandermond
سه شنبه 09 تیر 1388, 19:11 عصر
سلام
ميشه نحوه استفاده از اين رو هم بگيد. من نصب كردم ولي اضافه نشد.
ببخشيد اگه سوالم مبتديانه هستش ...

sabuye teshneh
شنبه 20 تیر 1388, 18:19 عصر
سلام
مثل اينكه منم مشكل شمارو دارم. منتها براي من باز كردن فايل ورد 2003 هم كافيه. فقط نميخوام برنامه ورد رسماً بالا بياد. مثل اينكه شما راه حلي دارين! ميشه بفرماييد؟!
با سپاس

glayoor
چهارشنبه 07 مرداد 1388, 10:02 صبح
سلام
برای این دوست و بقیه دوستان دنبال winwordcontrol در codeproject بگردین.

wenoos
پنج شنبه 19 آذر 1388, 12:32 عصر
سلام بر دوستان ،
دوست عزیز taghvajuo من از کم÷وننتی که گذاشتید استفاده کردم ، ممنون میشم اگر شما و دوستان بیشتر کمک کنید
1- ظاهرا License و تا 30 روز فعال هست
2- اگر برای ذخیره کردن هم راهی هست ممنون می شم