Friday, November 20, 2009

ห่วย! Code VBA for Excel 1000 & 2003 ใช้กับ VBA for Excel 2007 ไม่ได้

ขอบ่นให้ไมโครซอฟท์หน่อยเถอะ...
ผมเขียนโปรแกรมมาโคร Excel 2000 ไว้ครับ ในชุดคำสั่ง (code) มีคำสั่งให้ไปเปิดไฟล์รูปในฮาร์ดดิสเพื่อวางบน worksheet ของ Excel ด้วยครับ แต่พระเจ้าช่วยกล้วยแขก พอผมเอามาโครที่ว่านี้ไปรันใน Excel 2007 ที่มาพร้อมกับชุด Office 2007 มันกลับรันไม่ได้ครับ
ขึ้น Run time error แบบนี้เลย...


พอหาข้อมูลในเนต เลยพบว่าไมโครซอฟท์เปลี่ยน command โหลดหรือ insert รูปเข้ามาใหม่ ! สำหรับใน Excel 2007 โดยเฉพาะ แถมยังไม่พอ คำสั่งเปิดไฟล์ใน directory ก็ใช้ไม่ได้ต้องใช้รูปแบบเป็น file object แทน ห่วย! เล่นเอาต้องรื้อโปรแกรมใหม่เกือบ 70%

วิธี insert image ให้ใช้โค้ดนี้ครับ

Dim pPath
pPath = range("picLocation").value
ActiveSheet.Pictures.Insert(pPath)
With ActiveSheet.Pictures.Insert(pPath)
.Left = range("a1").Left
.Top = range("a1").Top
End With

อ้างอิงจาก

http://chandoo.org
http://www.eggheadcafe.com

ไมโครซอฟท์ นะไมโครซอฟท์ เปลี่ยน version MS Office ทั้งทีแต่ไม่ยอม port เอาคอมมานด์เก่าของ Excel 2000 ไปด้วย ตูเลยเดือนร้อนเลย...

No comments:

Post a Comment