จะเพิ่มหรือสร้าง workbook โดยใช้ vba ได้อย่างไร
(How to: Create a Workbook from vba)
จะเรียกว่า สูตร Excel หรือวิธีการก็ได้ขอแต่ว่ามันทำงานได้ก็พอ ตัวอย่างนี้เป็นสูตรการเขียนโค้ดโดยใช้ vba น่ะครับ
โดยทั่วไปแล้วหากว่าเราต้องการจะสร้างหรือเพิ่ม Workbook โดยการเขียนด้วย vba บน Excel เราสามารถเขียนได้ 2 แบบ คือ
วิธีแรก การเพิ่มหรือสร้าง workbook แบบครั้งละ 1 (add one workbook)
โดยให้เราทำดังนี้คือ
1. เปิด Excel ขึ้นมา
2. กด Alt+F11 เพื่อไปยัง หน้าต่างเขียน vba
3. เพิ่มโมดูลมา 1 อัน (add one module)
4. แทรกโค้ดต่อไปนี้เข้าไปใน module (insert this code to module)
Sub AddOneWb()
Workbooks.Add
End Sub
5. เรียกใช้ module ดังกล่าว (and call it)
วิธีที่สอง (or use below source code)
1. เปิด Excel ขึ้นมา
2. กด Alt+F11 เพื่อไปยัง หน้าต่างเขียน vba
3. เพิ่มโมดูลมา 1 อัน (add one module)
4. แทรกโค้ดต่อไปนี้เข้าไปใน module (insert this code to module)
Sub AddNewWb()
Set Newwb = Workbooks.Add
With Newwb
.Title = "Allorders"
.Subject = "orders"
.SaveAs Filename:="allorders.xls"
End With
End Sub
5. เรียกใช้ module ดังกล่าว (and call it)
วิธีการที่สองนับเป็นวิธีที่ดีกว่า และยืดหยุ่นกว่า เราควรยึดเป็นแบบอย่างมากกว่า เพราะมีการสร้างตัวแปรขึ้นมาและเราสามารถกำหนดชื่อ(define title), หัวเรื่องหลัก (define subject),และชื่อที่ต้องการบันทึก (Name you want to save) ได้ โดยกระทำผ่านชื่อตัวแปรที่เราประกาศ ตัวแปรในตัวอย่างนี้คือ Newwb จะสังเกตว่าตัวแปรประเภทนี้เราประกาศผ่านคำสั่ง Set ซึ่งใช้ประกาศและกำหนดค่าให้กับตัวแปรประเภท Object (Variable Object)
จากนั้นนำตัวแปรดังกล่าวมาใช้ โดยเขียนย่อรูปภายใต้ บล็อกของ with ซึ่งถ้าเราไม่ใช้ with ครอบเราจะต้องเขียนโดยอ้างชื่อตัวแปร Newwb ทุกครั้งด้วย แต่นี่เราใช้ with ครอบเราเลยใช้แค่ จุด (.) นำหน้าเท่านั้น
(How to: Create a Workbook from vba)
จะเรียกว่า สูตร Excel หรือวิธีการก็ได้ขอแต่ว่ามันทำงานได้ก็พอ ตัวอย่างนี้เป็นสูตรการเขียนโค้ดโดยใช้ vba น่ะครับ
โดยทั่วไปแล้วหากว่าเราต้องการจะสร้างหรือเพิ่ม Workbook โดยการเขียนด้วย vba บน Excel เราสามารถเขียนได้ 2 แบบ คือ
วิธีแรก การเพิ่มหรือสร้าง workbook แบบครั้งละ 1 (add one workbook)
โดยให้เราทำดังนี้คือ
1. เปิด Excel ขึ้นมา
2. กด Alt+F11 เพื่อไปยัง หน้าต่างเขียน vba
3. เพิ่มโมดูลมา 1 อัน (add one module)
4. แทรกโค้ดต่อไปนี้เข้าไปใน module (insert this code to module)
Sub AddOneWb()
Workbooks.Add
End Sub
5. เรียกใช้ module ดังกล่าว (and call it)
วิธีที่สอง (or use below source code)
1. เปิด Excel ขึ้นมา
2. กด Alt+F11 เพื่อไปยัง หน้าต่างเขียน vba
3. เพิ่มโมดูลมา 1 อัน (add one module)
4. แทรกโค้ดต่อไปนี้เข้าไปใน module (insert this code to module)
Sub AddNewWb()
Set Newwb = Workbooks.Add
With Newwb
.Title = "Allorders"
.Subject = "orders"
.SaveAs Filename:="allorders.xls"
End With
End Sub
5. เรียกใช้ module ดังกล่าว (and call it)
วิธีการที่สองนับเป็นวิธีที่ดีกว่า และยืดหยุ่นกว่า เราควรยึดเป็นแบบอย่างมากกว่า เพราะมีการสร้างตัวแปรขึ้นมาและเราสามารถกำหนดชื่อ(define title), หัวเรื่องหลัก (define subject),และชื่อที่ต้องการบันทึก (Name you want to save) ได้ โดยกระทำผ่านชื่อตัวแปรที่เราประกาศ ตัวแปรในตัวอย่างนี้คือ Newwb จะสังเกตว่าตัวแปรประเภทนี้เราประกาศผ่านคำสั่ง Set ซึ่งใช้ประกาศและกำหนดค่าให้กับตัวแปรประเภท Object (Variable Object)
จากนั้นนำตัวแปรดังกล่าวมาใช้ โดยเขียนย่อรูปภายใต้ บล็อกของ with ซึ่งถ้าเราไม่ใช้ with ครอบเราจะต้องเขียนโดยอ้างชื่อตัวแปร Newwb ทุกครั้งด้วย แต่นี่เราใช้ with ครอบเราเลยใช้แค่ จุด (.) นำหน้าเท่านั้น