چطور با کدهای VBA اطلاعات را از اکسس به ورد بفرستیم؟
سلام . به سافت پلاس خوش آمدید . باز هم می خواهیم در زمینه آموزش نرم افزار اکسس مطلب جدیدی را با هم یاد بگیریم . البته موضوع امروزمان در زمینه برنامه نویسی وی بی ای در اکسس است و بطور مشخص می خواهیم ببینیم که با استفاده از چه کدهایی می شود اطلاعات را از ACCESS به WORD بفرستیم .
البته قبلا هم یک مطلب مشابه در زمینه ارسال اطلاعات از اکسس به ورد را توی سایت قرار داده ام عنوان آن هم این است که “چطور اطلاعات را از اکسس به ورد بفرستیم “ .
توصیه می کنم که حتما روی لینک مطلب بالا کلیک کرده و مطلب مربوط به آن را مطالعه کنید . توی آن مطلب بطور کامل مراحلی را که باید طی کنیم تا اطلاعات را از اکسس به ورد بفرستیم را بررسی کردیم .
حالا می خواهیم یک همچین کاری را اینجا هم انجام بدهیم . اما با چند تا تفاوت .
اول اینکه می خواهیم این بار به جای استفاده از امکانات داخلی اکسس، به سراغ کدهای وی بی ای رفته و ببینیم که با استفاده از چه کدهایی و چطور می شود اطلاعات را از Access به WORD فرستاد .
دوم هم اینکه می خواهیم اطلاعات را گزینش کرده و آنها را در داخل فایل WORD در جای مناسبی قرار بدهیم .
من علیرضا شهرآئینی هستم و در ادامه به شما هر آن چیزی را که برای این منظور لازم است را آموزش خواهم داد .
از ارسال اطلاعات از ACCESS به WORD چه هدفی داریم ؟
اجازه بدهید که در همین ابتدای کار مشخص کنیم که به دنبال چه کاری هستیم و چه هدفی از ارسال اطلاعات به وُرد داریم .
فرض کنید که توی اکسس یک جدولی داریم که مشخصات تعدادی از افراد در داخل آن ذخیره شده است . این اطلاعات شامل نام ،نام خانوادگی ، کد ملی، سمت شغلی ؛ سن و اطلاعاتی از این دست است .
تصویر زیر نمایی از این جدول را می بینید . اسم این جدول را “people ” در نظر گرفته ام .این اسم را یادتان باشد چون بعدا در داخل کدهایمان از این اسم استفاده می کنیم .
حالا فرض کنید که این لیست ما شامل 500 نفر باشد و برای هر کدام از این افراد می خواهیم یک دعوت نامه برای شرکت در یک جلسه خاص را ارسال کنیم .
اطلاعات مربوط به افراد که در داخل اکسس است اما متن دعوت نامه ها در داخل نرم افزار ورد قرار دارد .
می خواهیم کاری کنیم که بصورت خودکار اطلاعات لازم از این جدول در اکسس فراخوانی شده و در داخل فایل ورد و دقیقا در محل های مناسب از آن قرار بگیرد .
برای این کار باید به سراغ برنامه نویسی وی بی ای برویم . پس با من همراه باشید تا قدم به قدم پیش برویم و کدهای لازم برای این کار را با هم بنویسیم .
مرحله اول از ارسال اطلاعات به نرم افزار وُرد
برای شروع کار باید به سراغ نرم افزار ورد برویم و همان فایلی که متن دعوت نامه ما در حال حاضر در داخل آن قرار دارد را باز کنیم .
داخل این فایل می خواهیم در چند تا نقطه برای خودمان چند تا بوکمارک ایجاد کنیم . اما Bookmark چیست و چطور می توانیم برای خودمان یک بوکمارک ایجاد کنیم خودش مطلب جدایی است .
برای اینکه با مفهوم بوکمارک به صورت اصولی آشنا شوید توصیه می کنم که سری به مطلب زیر بزنید .
مطلب مرتبط : بوکمارک ها در WORD چی هستند و کاربرد آنها چیست ؟
اما برای اینکه اینجا کارمان را راه بیندازیم و یاد بگیریم که چطور می شود در محل های مورد نظرمان یک یا چند تا بوکمارک ایجاد کنیم از ویدئوی کوتاه زیر استفاده کنید .
حالا که بوکمارک های مورد نظر را در داخل ورد ایجاد کردیم کارمان با WORD تمام می شود . کافی است آن را در محل مناسبی ذخیره کنیم و به سراغ نرم افزار اکسس خودمان برویم .
در داخل اکسس یک ماژول ایجاد کنید
فایل اکسس حاوی اطلاعات افراد را باز کنید . از روی صفحه کلید خودتان دکمه های ALT +F11 را یک بار فشار بدهید . با این کار وارد محیط کد نویسی مربوط به اکسس خواهید شد .
حالا به سراغ منوی Insert رفته و روی گزینه module کلیک کنید . با این کار اکسس یک ماژول را برای شما ایجاد می کند . حالا می خواهیم داخل این ماژول شروع به کد نویسی کنیم .
در مرحله بعد شروع به کد نویسی در داخل این ماژول خواهیم کرد .
شروع به کد نویسی کنید
توی این مرحله چند تا خط کد مختلف را می خواهیم بنویسیم . از آنجا که هر خط از کدها قرار است کار خاصی را برای ما انجام بدهد خط به خط آنها را نوشته و قدم به قدم به شما خواهم گفت که هر کدام چه کاری را انجام می دهند پس شروع به کد نویسی می کنیم .
در قدم اول یک روال ایجاد می کنیم .
Sub export_to_word()
End Sub
تا به اینجای کار ما یک روال ایجاد کرده ایم به اسم export_to_word .حالا داخل آن شروع به کد نویسی می کنیم .
Sub export_to_word()
Dim wdapp As Word.Application
Dim wddoc As Word.Document
dim rs as DAO.Recordset
End Sub
در شروع کد نویسی ما دو تا متغیر تعریف کرده ایم . در خط شماره 3 یک متغیر تعریف کرده ایم به اسم wdapp که نوع آن را از نوع برنامه کاربردی word قرار داده ایم .
در خط شماره 5 هم متغیر wdoc را تعریف کرده و نوع آن راهم از نوع سند ورد قرار داده ایم .
در خط شماره 7 هم یک متغیر داریم به اسم rs . نوع آن را هم از نوع رکوردست قرار داده ایم .
حالا برویم به سراغ خطوط کد بعدی .
Sub export_to_word()
Dim wdapp As Word.Application
Dim wddoc As Word.Document
Dim rs As DAO.Recordset
Set wdapp = New Word.Application
Set wddoc = wdapp.Documents.Open("D:\mywordfile.docx")
End Sub
حالا می رسیم به خط شماره 9 که متغیر wdapp را مساوی با یک برنامه کاربردی جدید از نوع word قرار می دهیم .
توی خط شماره 11 هم متغیر wddoc را مساوی همان فال ورودی قرار می دهیم که در ابتدای همین آموزش آن را ایجاد کردیم
Sub export_to_word()
Dim wdapp As Word.Application
Dim wddoc As Word.Document
Dim rs As DAO.Recordset
Set wdapp = New Word.Application
Set wddoc = wdapp.Documents.Open("D:\mywordfile.docx")
Set rs = CurrentDb.OpenRecordset("people")
End Sub
به خط شماره 13 رسیدیم . در این خط متغیر rs را مساوی جدولی قرار می دهیم که مشخصات افراد در داخل آن قرار دارد . اسم این جدول همانطور که قبلا هم گفتم people است .
این مطلب در دست تکمیل است ———————–
مطالب زیر را حتما مطالعه کنید
ذخیره نمودارها با کدهای VBAبصورت تصویر+راهنمای گام به گام
لیست باکس ها در برنامه نویسی VBA ؛ تمام چیزی که باید بدانید .
۷ اشتباه در کدنویسی VBA که ممکن است شما هم مرتکب شوید ؟
توی این آموزش راجع به اشتباهاتی که ممکن است در برنامه نویسی VBA مرتکب آنها شوید صحبت می کنیم .
با این خطای Runtime Error 1004 در VBA چکار کنیم ؟
در این آموزش راجع به خطایی به اسم Run time error 1004 در برنامه نویسی وی بی ای با هم صحبت می کنیم .
دیدگاهتان را بنویسید