PDA

View Full Version : سوال: ارسال گروهی رکوردها به Word



armm1388
جمعه 09 اسفند 1398, 08:07 صبح
با سلام
برای ساخت یک معرفی نامه ، یک قالب در Word ساخته ام. سپس پارامتر کد پرسنلی شخص را از ورودی می گیرد و نام و نام خانوادگی را از بانک پیدا می کند و طبق الگوریتم زیر گواهی برای شخص مورد نظر صادر می شود.
اگر بخواهم به صورت گروهی این کار صورت گیرد. یعنی کاربر کد پرسنلی کارکنان را تک تک وارد نکند. بلکه با زدن یک دکمه خودش گواهی همه را صادر کند چه تغییری باید در الگوریتم زیر بدهم. حلقه چگونه باید ساخته شود؟


object Name = "Name"; // bookmark
object family = "family"; // bookmark

string maghsad_file = System.Windows.Forms.Application.StartupPath + "\\main_template.docx";
if (File.Exists(maghsad_file))
{
object file = maghsad_file;
object nullobj = System.Reflection.Missing.Value;

Microsoft.Office.Interop.Word.Application wd;
Microsoft.Office.Interop.Word.Document wdDoc;

wd = new Microsoft.Office.Interop.Word.Application();
wdDoc = new Microsoft.Office.Interop.Word.Document();

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);

wdDoc.Bookmarks.get_Item(ref Name).Range.Text = name.Text;
wdDoc.Bookmarks.get_Item(ref family).Range.Text = family_2.Text;

wd.Visible = true;

}



با تشکر فراوان

ژیار رحیمی
یک شنبه 11 اسفند 1398, 00:25 صبح
سلام
دوست گرامی شما می خوای از word به عنوان یه ابزار گزارش گیری استفاده کنی.هر چند من نظر من روش مناسبی نیست این قالب طراحی شده در Word رو هم می تونی با ابزار های گزارش گیری مثل استیمول و فست ریپورت بسازی هم دردسر کمتری داره هم مدیریت چاپ گروهی عالی دارند.هر چند این کار رو هم میشه با word انجام داد(ولی با دردسر و وقت بیشتر) شما برای حالت گروهی باید به ازائ هر رکورد بک page به فایل Word اضافه کنی