ايران ويج

نسخه‌ی کامل: استفاده از Excel در وی بی 6
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3
یه مدتیه که پست‌های زیادی در رابطه با چگونگی استفاده از برنامه 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
سلام . فقط ی مشگلی هست .وقتی دیتارو به excel میفرستم فرمتشون بصورت پیشفرض General هست در صورتیکه میخوام Number باشه. مطمئنا با کدنویسی میشه حلش کرد که من بلد نیستم .دوستان لطفا راهنماییم کنید.
(۱۱-آبان-۱۳۸۶, ۱۵:۰۶:۴۵)Darg نوشته است: [ -> ]یه مدتیه که پست‌های زیادی در رابطه با چگونگی استفاده از برنامه 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

سلام دوست عزيز
فقط تنها مشكلي كه اين وسط هست اينه كه ممكن بعضي برنامه نويسان پس از اينكه مي خواند Sheet ‌رو ذخيره كنند با يك پيغام مواجه ميشند كه محتوياتش ابه اين شكله كه فايل تنظيمات اين Sheet‌موجود مي باشد كه توجه داشته باشيد قبلا اين رو دستي پاك كنيد تا با مشكل مواجه نشن.
درباره اون مسئله اي كه MT888 را جه به فرمت گفتند من يك نمونه دارم كه بسيار كامل و هيچ مشكلي هم نداره اگه وقت شد حتما مي زارم تا استفاده بشه.
Smile مخلص همه دوستان
سلام
با اين كد ميتونين فايل هاي excel رو تو mdb كپي كنين
سلام
برای این تغییر فرمت هیچکی راهی به نظرش نمیرسه؟
(۲۷-اردیبهشت-۱۳۸۸, ۱۲:۱۲:۰۰)MT888 نوشته است: [ -> ]سلام
برای این تغییر فرمت هیچکی راهی به نظرش نمیرسه؟
سلام می بخشید که دیر جواب می دم. من خیلی کم به این فروم سر می زنم

برای تغییر فرمت سلول از خصوصیت NumberFormat استفاده کنید مثلا برای اینکه سلول فرمت عددی با دو رقم عشار داشته باشه به شکل زیر می شه:

کد:
Worksheet.Cells(1, 1).NumberFormat = "0.00"

برای تایین فرمت جاری سلول هم از NumberFormatLocal استفاده می شه.
این لینک رو ببینید امیدوارم به دردتون بخوره
http://mediavb.persiangig.ir/DataBase/Le...n%2012.htm
سلام ، من می خوام تو برنامم یک یا چند شیت شبیه به شیت های اکسل داشته باشم که کاربر بتونه آمارش رو تو اون بریزه آیا می تونم از خود اکسل اطلاعات رو بگیرم ؟ البته من بیشتر می خوام شیت ها رو درون فورم برنامه داشته باشم
ممنون
سلام دوستان
من میخوام سلولهای اکسل رو رنگی کنم .خود اکسل خاصیت fill color داره ولی نمیدونم با کدنویسی چطوری انجام بدم.لطفا راهنماییم کنید
(۱۴-مرداد-۱۳۸۸, ۰۹:۳۹:۴۶)MT888 نوشته است: [ -> ]...میخوام سلولهای اکسل رو رنگی کنم...

کد:
Worksheet.Cells(1, 1).Interior.Color = vbRed
کاش یکی هم جواب مارو می دادSad
صفحه‌ها: 1 2 3