۱۱-آبان-۱۳۸۶, ۱۵:۰۶:۴۵
یه مدتیه که پستهای زیادی در رابطه با چگونگی استفاده از برنامه Excel در زبان وی بی 6 عنوان شده, که باعث شلوغ شدن و سردر گمی مراجعین به فروم شده.
در اینجا من خیلی سریع مسئله رو براتون توضیح میدم تا دیگه درخواستهای دوستان فقط به این تاپیک ارجاع داده بشه.
_____________________________________________________
برای شروع کار باید یک پروژه معمولی وی بی باز کنید و به بخش References پروژتون برید و بعد گزینه زیر رو انتخاب کنید:
Microsoft Excel n.0 Object Library
اون عدد n.0 که مشاده میکنید در واقع بستگی به این داره که شما از کدوم نسخه آفیس دارید روی ویندوزتون استفاده میکنید که مثلا چون من از آفیش 2007 استفاده میکنم عبارت زیر رو انتخاب کردم:
Microsoft Excel 12.0 Object Library
حالا وارد کدنویسی میشیم.
خوب ابتدا وی بی باید برنامه Excel رو باز کنه چون تمام کارهایی که ما انجام میدیم احتیاج به خود فایل اجرایی Excel.exe هست. برای این کار باید کد زیر رو بنویسید:
Dim mApplication As New Excel.Application
در واقع ما حالا یک شیء Application رو داریم که حکم همون فایل اجرایی Excel هست و مثل این میمونه که شما دستی خود برنامه Excel.exe رو باز کردید.
حالا این سوال رو از شما میپرسم که برای کار کردن در محیط اکسل بعد از باز کردن برنامه اکسل چه اتفاقی میافته؟
دقیقا بعد از باز کردن اکسل بلافاصله یک محیط کاری یا در واقع Workbook برای شما آماده است. اما در محیط برنامهنویسی شما باید خودتون هر تعداد Workbook که لازم دارید ایجاد کنید با فرمان زیر:
Dim mWorkbook As New Excel.Workbook
اما در این مرحله ما باید پیوندی بین mApplication که برنامه جاری کدمون هست با mWorkbook که محیط کاری کدمون هست ایجاد کنیم به ترتیب زیر:
Set mWorkbook = mApplication.Workbooks.Add
در کد بالا چه اتفاقی میافته:
یک Workbook به مجموعه Workbook های Application ما اضافه میشه و Workbook جدید در محل mWorkbook قرار میگیره.
خوب حالا میحط کاری هم آمادست اما در اینجا یعنی درون کدها ما هنوز هیچ Sheet برای کار نداریم که باید اون رو هم ایجاد کنیم:
Dim mWorksheet As New Excel.Worksheet
Set mWorksheet = mWorkbook.Sheets.Add
mWorksheet.Name = "Test Sheet"
حالا همه چیز آمادست برای کار.
اگر میخواید یه سلولها دسترسی داشته باشید از خصوصیت mWorksheet.Cellsاستفاده کنید.
در نهایت برای اینکه بتونید نتیجه کار رو ببینید باید فرمان زیر رو صادر کنید:
mApplication.Visible = True
و البته ما یک مجموعه کامل از خصوصیات و فرمانها برای باز کردن, ذخیره, مقدار دهی و ... رو داریم که تا همین جای مطلب برای اینکه بتونید کار رو شروع کنید کفایت میکنه.
برنامه ضمیمه کدهای همین مطلبه به صورت یک پروژه.
همین طور در لینک زیر بحث جالبی هست برای افزایش سرعت دسترسی به اکسل به وسیله وی بی 6 که اگر بخونیدش مفید خواهد بود.
http://forum.iranled.com/showthread.php?tid=4951
در اینجا من خیلی سریع مسئله رو براتون توضیح میدم تا دیگه درخواستهای دوستان فقط به این تاپیک ارجاع داده بشه.
_____________________________________________________
برای شروع کار باید یک پروژه معمولی وی بی باز کنید و به بخش References پروژتون برید و بعد گزینه زیر رو انتخاب کنید:
Microsoft Excel n.0 Object Library
اون عدد n.0 که مشاده میکنید در واقع بستگی به این داره که شما از کدوم نسخه آفیس دارید روی ویندوزتون استفاده میکنید که مثلا چون من از آفیش 2007 استفاده میکنم عبارت زیر رو انتخاب کردم:
Microsoft Excel 12.0 Object Library
حالا وارد کدنویسی میشیم.
خوب ابتدا وی بی باید برنامه Excel رو باز کنه چون تمام کارهایی که ما انجام میدیم احتیاج به خود فایل اجرایی Excel.exe هست. برای این کار باید کد زیر رو بنویسید:
Dim mApplication As New Excel.Application
در واقع ما حالا یک شیء Application رو داریم که حکم همون فایل اجرایی Excel هست و مثل این میمونه که شما دستی خود برنامه Excel.exe رو باز کردید.
حالا این سوال رو از شما میپرسم که برای کار کردن در محیط اکسل بعد از باز کردن برنامه اکسل چه اتفاقی میافته؟
دقیقا بعد از باز کردن اکسل بلافاصله یک محیط کاری یا در واقع Workbook برای شما آماده است. اما در محیط برنامهنویسی شما باید خودتون هر تعداد Workbook که لازم دارید ایجاد کنید با فرمان زیر:
Dim mWorkbook As New Excel.Workbook
اما در این مرحله ما باید پیوندی بین mApplication که برنامه جاری کدمون هست با mWorkbook که محیط کاری کدمون هست ایجاد کنیم به ترتیب زیر:
Set mWorkbook = mApplication.Workbooks.Add
در کد بالا چه اتفاقی میافته:
یک Workbook به مجموعه Workbook های Application ما اضافه میشه و Workbook جدید در محل mWorkbook قرار میگیره.
خوب حالا میحط کاری هم آمادست اما در اینجا یعنی درون کدها ما هنوز هیچ Sheet برای کار نداریم که باید اون رو هم ایجاد کنیم:
Dim mWorksheet As New Excel.Worksheet
Set mWorksheet = mWorkbook.Sheets.Add
mWorksheet.Name = "Test Sheet"
حالا همه چیز آمادست برای کار.
اگر میخواید یه سلولها دسترسی داشته باشید از خصوصیت mWorksheet.Cellsاستفاده کنید.
در نهایت برای اینکه بتونید نتیجه کار رو ببینید باید فرمان زیر رو صادر کنید:
mApplication.Visible = True
و البته ما یک مجموعه کامل از خصوصیات و فرمانها برای باز کردن, ذخیره, مقدار دهی و ... رو داریم که تا همین جای مطلب برای اینکه بتونید کار رو شروع کنید کفایت میکنه.
برنامه ضمیمه کدهای همین مطلبه به صورت یک پروژه.
همین طور در لینک زیر بحث جالبی هست برای افزایش سرعت دسترسی به اکسل به وسیله وی بی 6 که اگر بخونیدش مفید خواهد بود.
http://forum.iranled.com/showthread.php?tid=4951