วิธีเขียนข้อมูลไปยัง Excel จาก Vba

วิธีเขียนข้อมูลไปยัง Excel จาก Vba
วิธีเขียนข้อมูลไปยัง Excel จาก Vba
Anonim

แอปพลิเคชันสำนักงานทั้งหมดจาก Microsoft รองรับการทำงานอัตโนมัติ พวกเขาสามารถเรียกใช้เป็นเซิร์ฟเวอร์ COM และใช้งานได้จากสคริปต์ที่ฝังเอกสารหรือภายนอก ดังนั้น คุณสามารถเขียนข้อมูลไปยังเอกสาร Excel จากสคริปต์ vba

วิธีเขียนข้อมูลไปยัง Excel จาก vba
วิธีเขียนข้อมูลไปยัง Excel จาก vba

จำเป็น

  • - ติดตั้งแอปพลิเคชัน Microsoft Excel;
  • - โปรแกรมแก้ไข Visual Basic / โปรแกรมแก้ไขข้อความ

คำแนะนำ

ขั้นตอนที่ 1

สร้างคอนเทนเนอร์เพื่อโฮสต์โค้ด vba หากต้องการฝังสคริปต์ในเอกสาร ให้อัปโหลดไฟล์ที่เหมาะสมไปยัง Microsoft Excel เปิด Visual Basic Editor โดยกด Alt + F11 หากจำเป็น ให้สร้างโมดูลใหม่ (รายการโมดูลในเมนูแทรก) เปิดโมดูลหรือแบบฟอร์มอย่างใดอย่างหนึ่ง สร้างตัวจัดการสำหรับตัวควบคุมฟอร์มของคุณ หรือเพียงแค่เพิ่มขั้นตอนในโมดูล ตัวอย่างเช่น:

การทดสอบย่อย ()

จบซับ

หากคุณกำลังพัฒนาสคริปต์แบบสแตนด์อโลน (นั่นคือ สคริปต์จะทำงานภายใต้ Windows Script Host) ให้สร้างไฟล์ที่มีนามสกุล vbs ในโปรแกรมแก้ไขข้อความ

ขั้นตอนที่ 2

ในสคริปต์ที่ฝังอยู่ในเอกสาร ให้เพิ่มการประกาศตัวแปรที่จุดเริ่มต้นของขั้นตอน:

Dim oWorkbook เป็น Excel. Workbook

Dim oSheet As Excel. Worksheet

อันแรกใช้สำหรับจัดเก็บการอ้างอิงไปยังออบเจกต์เวิร์กบุ๊ก Excel และอันที่สองสำหรับชีต

ขั้นตอนที่ 3

เริ่มต้นตัวแปรด้วยการอ้างอิงวัตถุ ในสคริปต์ vbs ให้สร้างวัตถุแอปพลิเคชัน Excel (ซึ่งจะเปิด Excel เป็นเซิร์ฟเวอร์ COM):

ตั้งค่า oApplication = CreateObject ("Excel. Application")

ในสคริปต์ที่ฝังอยู่ในเอกสาร ออบเจ็กต์แอปพลิเคชันส่วนกลางจะถูกใช้แทนตัวแปร oApplication ซึ่งอ้างอิงถึงออบเจ็กต์แอปพลิเคชันปัจจุบัน เลือกที่มีอยู่หรือเปิดสมุดงาน Excel ใหม่ ตัวอย่างเช่น:

ตั้งค่า oWorkbook = Application. Workbooks (1)

ตั้งค่า oWorkbook = Application. Workbooks ("Book1")

ตั้งค่า oWorkbook = oApplication. Workbooks. Open ("D: / vic / ที่เกี่ยวข้อง / tmp / test.xls")

รับลิงค์ไปยังแผ่นงานหนังสือที่ต้องการ:

ตั้งค่า oSheet = oApplication. Sheet ("Sheet1")

ขั้นตอนที่ 4

เขียนข้อมูลไปยัง Excel จากสคริปต์ vba ใช้คอลเล็กชัน Cells ซึ่งเป็นคุณสมบัติของอ็อบเจ็กต์แผ่นงานเวิร์กบุ๊กที่อ้างอิงในขั้นตอนก่อนหน้า ลงในตัวแปร oSheet ตัวอย่างการเขียนสตริงลงในเซลล์หนึ่งอาจมีลักษณะดังนี้:

oSheet. Cells (1, 1) = "สตริงจะถูกเขียนไปยังเซลล์ A1"

ขั้นตอนที่ 5

ในสคริปต์ vbs ให้เพิ่มโค้ดเพื่อบันทึกข้อมูลและปิดแอปพลิเคชัน Excel:

oWorkbook.บันทึก

oApplication.เลิก

ขั้นตอนที่ 6

บันทึกและรันสคริปต์ ใน Visual Basic Editor ให้กด Ctrl + S จากนั้นวางเคอร์เซอร์ในเนื้อหาของโพรซีเดอร์แล้วกด F5 บันทึกสคริปต์ vbs ลงในดิสก์แล้วเรียกใช้เป็นไฟล์ปกติ

แนะนำ: