PDA

View Full Version : ارسال اطلاعات از #C به Word



l7i7l7
سه شنبه 03 آذر 1388, 08:26 صبح
با سلام خدمت دوستان گرامي

من نياز دارم كه اطلاعاتي رو از سي شارپ به Word بفرستم

مثلا يك فايل آماده مثل شكل ضميمه دارم و ميخوام در قسمت هاي مشخص شده با رنگ سبز اطلاعاتي رو درج كنم
و بعد از درج اطلاعات بتونم اون صفحه word را با نام دلخواهم توي يك مسير دلخواه ذخيره كنم
(يه نرم افزار دبيرخونه)

http://barnamenevis.org/forum/attachment.php?attachmentid=40301&stc=1&d=1259149751


لطفا راهنماييم كنين

babak7788
سه شنبه 03 آذر 1388, 13:46 عصر
منم همين مشكلو داشتم و دارم

از دوستان كسي نيست راهنمايي كنه

saed2006
سه شنبه 03 آذر 1388, 14:05 عصر
میتونید از componet زیر بهره بگیرید
http://www.ablebits.com/development-tools.php

saed2006
سه شنبه 03 آذر 1388, 14:09 عصر
http://www.componentsource.com/features/word-processing/visual-csharp-net/index.html

l7i7l7
سه شنبه 03 آذر 1388, 15:13 عصر
دوست عزيز متشكرم از راهنماييتون

فقط اين componet ها همشون پولين


آيا روش ديگري بدون استفاده از كامپوننت هاي پولي :بامزه:(منظور componet هاي استاندارد .net)

وجود نداره


اگه وجود نداره ....!!!!!! :افسرده:

پس در اين صورت از دوستان كسي هست كه اين كامپوننت ها رو داشته باشه ؟؟؟

l7i7l7
چهارشنبه 04 آذر 1388, 14:53 عصر
از دوستان كسي نيست بيشتر راهنمايي بكنه ؟؟؟؟؟؟؟

saed2006
چهارشنبه 04 آذر 1388, 15:55 عصر
چرا از vba خود word کمک نمیگیری؟

saed2006
چهارشنبه 04 آذر 1388, 15:59 عصر
دوست عزیز میتونی dll ورد رو به ریفرنست اضافه کنی و بعد از تمام قابلیت های ورد در C#‎ بهره ببری
اموزش کامل در لینک زیر
http://www.codeproject.com/KB/aspnet/wordapplication.aspx

hamidsolat
چهارشنبه 04 آذر 1388, 23:53 عصر
مراحل زیر رو طی کنید:
1-در word 2003 از منوی فایل گزینه new را انتخاب کنید.
2-بر یک جای خالی از منوی بالا راست کلیک کنید و گزینه forms را انتخاب کنید.
3-هر کجا متغییری لازم داشتید از نوار ابزار ایجاد شده text form field را انتخاب کنید.
4-بر روی متغییرهایی که در متن ایجاد کردید راست کلیک کرده و properties را انتخاب کنید و در قسمت BookMark نامی برای انها انتخاب کنید .من یک فیلد با نام MyField ساختم.
5-توی محیط ویژوال از گزینه Add reference\com\microsoft word رو انتخاب کنید.
و بعد میتونید طبق الگوی زیر عمل کنید:

using Microsoft.Office.Interop.Word;
.
.
.
.
Microsoft.Office.Interop.Word.Application wd;
Microsoft.Office.Interop.Word.Document wdDoc;
private void button1_Click(object sender, EventArgs e)
{
wd = new Microsoft.Office.Interop.Word.Application();
wdDoc = new Microsoft.Office.Interop.Word.Document();
wd.Visible = true;
object file = "C:\\Doc1.doc";
object nullobj = System.Reflection.Missing.Value;
wdDoc = wd.Documents.Open(ref file, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj);
object textField="MyField";
wdDoc.FormFields.get_Item(ref textField).Range.Text = "1324";
//wdDoc.Save();
}


شما میتونید برای گرفتن نام فایل از openFileDialog ، و به جای رشته 1324 از یه تست باکس استفاده کنی.

AfshinBarnamenevis
پنج شنبه 05 آذر 1388, 00:02 صبح
اول باید یک فایل ورد درست کنی و در قسمتهایی که میخواهی فیلدهای مورد نظر را وارد کنی

برای مثال :

تاریخ : Date

و بعد Date را تبدیل به bookmark نمایی

بعد از داخل c# آن فایل را به عنوان وروی بگیری و بعد به همان فیلد مارک شده دیتا بفرستی و فایل ورد جدیدی را دوباره ذخیره کنی

موفق باشی

pcseven
جمعه 06 آذر 1388, 02:00 صبح
ابتدا یک پروژه از نوع Word 200x Document در Visual Studio ایجاد کن.
سپس در فایل Word ایجاد شده، قالب دلخواه را طراحی نموده و در محلهای مورد نظر از Toolbox چند Bookmark قرار بده.
در کد مربوط به این صفحه بنویس:


private void ThisDocument_Startup(object sender, System.EventArgs e)
{
Globals.ThisDocument.bookmark1.Text = "متن مورد نظر";
}

danial82
شنبه 07 آذر 1388, 02:57 صبح
دوستان فکر نمیکنن اگه یک سورس بذارن خیلی بیشتر کمک میکنه:متفکر:

debugger
شنبه 07 آذر 1388, 10:21 صبح
دوستان فکر نمیکنن اگه یک سورس بذارن خیلی بیشتر کمک میکنه:متفکر:

شما کد را بنویس به مشکل برخوردی همین جا بزار تا حل کنیم

سورس خیلی ساده هست

mdssoft
شنبه 07 آذر 1388, 10:22 صبح
من خودم تا حالا این کار رو نکردم ، اما اینجا توضیح داده (http://mds-soft.persianblog.ir/post/71/) (همراه با سورس کد)

danial82
دوشنبه 09 آذر 1388, 20:06 عصر
ابتدا یک پروژه از نوع Word 200x Document در Visual Studio ایجاد کن.
سپس در فایل Word ایجاد شده، قالب دلخواه را طراحی نموده و در محلهای مورد نظر از Toolbox چند Bookmark قرار بده.
در کد مربوط به این صفحه بنویس:


private void ThisDocument_Startup(object sender, System.EventArgs e)
{
Globals.ThisDocument.bookmark1.Text = "متن مورد نظر";
}

pcseven میشه یه sample خیلی ساده شبیه همین بذاری

l7i7l7
سه شنبه 10 آذر 1388, 08:48 صبح
مراحل زیر رو طی کنید:
1-در word 2003 از منوی فایل گزینه new را انتخاب کنید.
2-بر یک جای خالی از منوی بالا راست کلیک کنید و گزینه forms را انتخاب کنید.
3-هر کجا متغییری لازم داشتید از نوار ابزار ایجاد شده text form field را انتخاب کنید.
4-بر رو........

.

دوست عزيز ممنون از راهنماييتون

من نتونستم Add reference\com\microsoft word بكنم

رو سيستمم از office 2003 , VS .net 2008 استفاده مي كنم

مثل اينكه توي 2008 يكم فرق كرده ؟؟؟

لطفا راهنمايي كنين

l7i7l7
سه شنبه 10 آذر 1388, 10:37 صبح
دوست عزيز hamidsolat
مشكل من بعد از نصب سرويس پك 3 office2003 حل شد

ديگه error نميده

موفق باشيد با حق

flash118
یک شنبه 25 بهمن 1388, 11:09 صبح
دوست عزیز ممنون عالی بود لطفا یه سورس از این نمونه لطف کنین ممنون می شم