การใช้ Microsoft Excel 2010 ผมสังเกตเห็นทั้งสองชนิดของการควบคุมที่สามารถแทรกลงในเอกสาร: ตัวควบคุมฟอร์มและควบคุม ActiveX
อะไรคือความแตกต่างระหว่างพวกเขา?
การใช้ Microsoft Excel 2010 ผมสังเกตเห็นทั้งสองชนิดของการควบคุมที่สามารถแทรกลงในเอกสาร: ตัวควบคุมฟอร์มและควบคุม ActiveX
อะไรคือความแตกต่างระหว่างพวกเขา?
คำตอบ:
Google จะเต็มไปด้วยข้อมูลเกี่ยวกับเรื่องนี้ ดังที่ Hans Passant กล่าวว่าตัวควบคุมฟอร์มถูกสร้างขึ้นใน Excel ในขณะที่ตัวควบคุมActiveXถูกโหลดแยกกัน
โดยทั่วไปคุณจะใช้Forms
การควบคุมซึ่งจะง่ายกว่า ActiveX
การควบคุมช่วยให้การออกแบบมีความยืดหยุ่นมากขึ้นและควรใช้เมื่องานไม่สามารถทำได้ด้วยการForms
ควบคุมพื้นฐาน
โดยค่าเริ่มต้น คอมพิวเตอร์ของผู้ใช้จำนวนมากจะไม่เชื่อถือActiveX
และจะปิดใช้งาน บางครั้งต้องเพิ่มเข้าไปในศูนย์ความเชื่อถือด้วยตนเอง ActiveX
เป็นเทคโนโลยีที่ใช้ไมโครซอฟท์และเท่าที่ฉันทราบไม่รองรับบน Mac นี่คือสิ่งที่คุณจะต้องพิจารณาด้วยเช่นกันหากคุณ (หรือใครก็ตามที่คุณให้สมุดงาน) ตัดสินใจใช้งานบน Mac
ข้อแตกต่างที่สำคัญอย่างหนึ่งที่ควรทราบคือตัวควบคุม ActiveX แสดงเป็นวัตถุที่คุณสามารถใช้ในโค้ดของคุณ - ลองแทรกตัวควบคุม ActiveX ลงในแผ่นงานเปิดตัวแก้ไข VBA (ALT + F11) และคุณจะสามารถเข้าถึงได้ การควบคุมโดยทางโปรแกรม คุณไม่สามารถทำได้ด้วยตัวควบคุมฟอร์ม (ต้องกำหนดมาโครให้กับแต่ละตัวควบคุมอย่างชัดเจนแทน) แต่ตัวควบคุมฟอร์มใช้งานง่ายกว่าเล็กน้อย หากคุณกำลังทำอะไรง่ายๆไม่สำคัญว่าคุณจะใช้ตัวไหน แต่สำหรับสคริปต์ขั้นสูง ActiveX มีความเป็นไปได้ที่ดีกว่า
ActiveX ยังปรับแต่งได้มากขึ้น
นอกจากนี้ยังเป็นที่น่าสังเกตว่าตัวควบคุม ActiveX ใช้งานได้เฉพาะใน Windows ในขณะที่ Form Controls จะทำงานบน Excel ทั้ง Windows และ MacOS
โปรดระวังในบางกรณีการคลิกที่ Form Control หรือ Active X Control จะให้ผลลัพธ์ที่แตกต่างกันสองรายการสำหรับมาโครเดียวกันซึ่งไม่ควรเป็นเช่นนั้น ฉันพบว่า Active X น่าเชื่อถือกว่า