VBA Excel ด้วย C# สำหรับ .NET programmer
สิ่งที่ต้องมีสำหรับการพัฒนา Excel Programming ด้วย C#
Visual Studio ที่ได้ติดตั้ง visual studio tool for office ซึ่งจะให้เราสามารถสร้าง Microsof Office Project ได้จาก Visual Studio
vto 2005 sp1
vto 3
เครื่องคอมพิวเตอร์ที่ใช้งานได้ทำการติดตั้ง Microsoft Excel 2003 และทำการ update เป็น Service Pack 1
เมื่อได้ติดตั้งทุกอย่างเรียบร้อยแล้วก็เริ่มลงมือเขียน program กันได้เลยครับ
สร้าง project ใหม่
เริ่มเขียนคำสั่งในรูปแบบ code behine คล้ายๆ กับ Windows Form หรือ Web Form
run แบบไม่ต้อง debug ด้วยการกดปุ่ม ctrl + f5 workbook Microsoft Excel จะเปิดขึ้นมาและเรียกใช้งาน work book ที่เราได้เขียนคำสั่งไว้
ได้ผลลัพธ์ตามที่เราต้องการ
เปรียบเทียบกับการใช้งานกับการเขียนด้วย VB Script (VBA)
นี้เป็นความเห็นส่วนตัวของผมเองนะครับ
โดยส่วนตัวในแง่ของการเขียนคำสั่ง ชอบวิธีการของ Visual Studio For Office มากกว่า เพราะสามารถเขียนด้วยภาษา C# ซึ่งเป็นภาษาโปรดของผม และยังได้ความสามารถต่างของ Visual Studio มาช่วยในการเขียน program ได้ง่ายขึ้น เช่น intellisence หรือ auto complete อีกทั้ง c# ก็มี compiler ที่ฉลาดแสดงผลความผิดพลาดที่อ่านได้เข้าใจง่าย
แต่สิ่งที่การเขียนด้วย VBA ได้เปรียบกว่าคือ
เปิด workbook แล้วเรียกใช้คำสั่งที่เขียนเพิ่มเข้าไปได้เร็วกว่าวิธีของ VTO
copy ไปใช้ต่อได้ทันที่ ไม่ต้องทำการเปิด permission ให้กับ dll ที่ได้จากวิธีการของ vto
การพัฒนาหรือแก้ไขไม่จำเป็นต้องมี visual studio แค่เปิด file ด้วย excel ก็สามารถแก้ไขงานได้ทันที
หากต้องเลือกวิธีการใดวิธีการหนึ่งก็ trade off กันแล้วกันนะครับ
สำหรับคนที่เป็น VB อยู่แล้วก็อาจจะเลือก VBA
แต่สำหรับที่เป็น C# เขียน Excel programming ก็เป็นทางเลือกที่น่าสนใจ
tip
สำหรับผมคิดว่าสิ่งที่ยากที่สุดที่เจอในการเขียนก็คือ ขั้นตอนของการสร้าง project เพราะได้หาวิธีการแก้ไขหลายอย่างจนกว่าจะสร้าง project ใหม่ได้ จึงขอเขียนคำแนะนำเพิ่มเติมคือ
หากสร้าง project ไม่ได้
ให้ดูว่าเราได้ update office 2003 เป็น SP1 ยัง
ติดตั้ง VTO 2005 และ VTO 3 ยัง
หากยังสร้าง project ไม่ได้แนะนำให้ uninstall vto ทั้งสองตัวออกและติดตั้งใหม่
Ref: codesanook.com