PDA

View Full Version : سوال: اتوماسیون در ورد



mohsenaminzare
جمعه 07 تیر 1392, 11:18 صبح
سلام
من یک فایل ورد دارم . که حاوی متن نامه می باشد. جاهایی در این نامه خالی هست تا کاربر واردکنه مثلا تاریخ , نام و نام نام خانوادگی . می خوام برنامه ای بنویسم که اطلاعات رو از کاربر بگیره بعد فایل ورد رو باز کنه و در جای خودش درج کنه ؟

mohsenaminzare
جمعه 07 تیر 1392, 16:28 عصر
دوستان کسی نمی تونه کمک کنه ؟

tooraj_azizi_1035
جمعه 07 تیر 1392, 20:21 عصر
using Microsoft.Office.Interop.Word;
object paramMissing = Type.Missing;
object openfileName = @"C:\testing\Documents\1.docx";

ApplicationClass WordApplication = new ApplicationClass();
Document WordDocument = WordApplication.Documents.Open(ref openfileName,
ref paramMissing, ref paramMissing, ref paramMissing,
ref paramMissing, ref paramMissing, ref paramMissing,
ref paramMissing, ref paramMissing, ref paramMissing,
ref paramMissing, ref paramMissing, ref paramMissing,
ref paramMissing, ref paramMissing, ref paramMissing);

WordDocument.Variables("replace1") = "This is a test";
WordDocument.Variables("replace2").Value = "it's only a test!";
WordDocument.Fields.Update;

متغیرهای داخل سند ورد رو باید قبلاً تعریف کرده باشید.

mohsenaminzare
شنبه 08 تیر 1392, 00:47 صبح
[QUOTE
متغیرهای داخل سند ورد رو باید قبلاً تعریف کرده باشید.[/QUOTE]

دقیقا باید چکار کنم

systam
شنبه 08 تیر 1392, 10:52 صبح
سلام
میتونی این کار رو خیلی راحت با کریستال ریپورت انجام بدی
اول اطلاعات رو از کاربر بگیر در بانک ذخیره کن
بعد اطلاعات رو توسط کریستال ریپورت ذخیره
خیلی راحت

biotechsoft
شنبه 08 تیر 1392, 14:11 عصر
www.biotechsoft.blogfa.com/post/27 (http://www.biotechsoft.blogfa.com/post/27)
بررسی کن ببین اگه همین مدل رو خواستی میتونم سورس رو با قیمت مناسب بهت بفروشم
http://upload.iranvij.ir/images_dey91/12744341967087079613.png

farbod61
شنبه 08 تیر 1392, 14:58 عصر
سلام دوست عزیز
از استیمول ریپرت استفاده کنید

If Me.ComboBox3.Text = "Word" Then
Me.StiReport1.RegData(Me.Ghaleb)
t = StiReport1.GetComponentByName("Text24")
t.Text = BindingNavigatorCountItem.Text
Dim wordexport As StiWord2007ExportService = New StiWord2007ExportService
StiReport1.Render()
Dim s As New SaveFileDialog
s.Filter = "Word |*.docx"
If s.ShowDialog = Windows.Forms.DialogResult.OK Then
wordexport.ExportWord(StiReport1, s.FileName.Replace(".docx", "") & ".docx")
End If
MsgBox("کپی فایل انجام شد")
End If

farbod61
شنبه 08 تیر 1392, 15:01 عصر
سلام
میتونی این کار رو خیلی راحت با کریستال ریپورت انجام بدی
اول اطلاعات رو از کاربر بگیر در بانک ذخیره کن
بعد اطلاعات رو توسط کریستال ریپورت ذخیره
خیلی راحت

با استیمول ریپرت هم خیلی راحت میشه اینکار رو کرد
نیازی به ذخیره تو دیتابیس هم نداره
فقط یکم امیدوارم با استیمول آشنایی داشته باشید
یه برنامه نمونه هم آقای شهریاری عزیز گذاشته بود که میگردم پیدا میکنم برات میزارم


Me.StiReport1.RegData(Me.Ghaleb)
t = StiReport1.GetComponentByName("Text24")
t.Text = BindingNavigatorCountItem.Text
Dim wordexport As StiWord2007ExportService = New StiWord2007ExportService
StiReport1.Render()
Dim s As New SaveFileDialog
s.Filter = "Word |*.docx"
If s.ShowDialog = Windows.Forms.DialogResult.OK Then
wordexport.ExportWord(StiReport1, s.FileName.Replace(".docx", "") & ".docx")

MsgBox("کپی فایل انجام شد")
End If


نمونه برنامه هم برات گذاشتم

systam
شنبه 08 تیر 1392, 18:23 عصر
سلام
جناب biotechsoft درست کردنش کار نداره ولی بهتره سورس و در اختیار دوستانی که تازه واردند بزاری تا تجربه کسب کنند
خیلی خوب ثواب هم داره


یا علی

shahryari
یک شنبه 09 تیر 1392, 09:46 صبح
سلام
اینجا یک نمونه گذاشتم
http://barnamenevis.org/showthread.php?402750-%D8%B1%D9%81%D8%AA-%D9%88-%D8%A8%D8%A7%D8%B2%DA%AF%D8%B4%D8%AA-%D9%BE%D8%A7%D8%B1%D8%A7%D9%85%D8%AA%D8%B1-%D8%A8%D9%8A%D9%86-VB.net-%D9%88-microsoft-word&p=1790495&viewfull=1#post1790495
موفق باشید