Visual Basic for Applications:
การทำให้ตัวอักษรเป็นตัวพิมพ์ใหญ่ในสตริง
วิธีการ:
VBA ไม่มีฟังก์ชันในตัวที่เฉพาะเจาะจงสำหรับการทำให้แต่ละคำในสตริงเป็นตัวพิมพ์ใหญ่ เช่นเดียวกับบางภาษาการเขียนโปรแกรมอื่น ๆ อย่างไรก็ตาม คุณสามารถทำสิ่งนี้ได้โดยรวมฟังก์ชันและวิธีการต่าง ๆ เช่น UCase
, LCase
, และ Mid
ไว้ด้วยกัน
นี่คือตัวอย่างที่ตรงไปตรงมาว่าจะทำอย่างไรในการทำให้สตริงเป็นตัวพิมพ์ใหญ่:
Function CapitalizeString(inputString As String) As String
Dim words As Variant
words = Split(inputString, " ")
For i = LBound(words) To UBound(words)
If Len(words(i)) > 0 Then
words(i) = UCase(Left(words(i), 1)) & LCase(Mid(words(i), 2))
End If
Next i
CapitalizeString = Join(words, " ")
End Function
Sub ExampleUsage()
Dim exampleString As String
exampleString = "hello world from VBA!"
MsgBox CapitalizeString(exampleString) 'ผลลัพธ์: "Hello World From Vba!"
End Sub
ฟังก์ชัน CapitalizeString
จะแยกสตริงที่ป้อนเข้ามาเป็นคำๆ ทำให้ตัวอักษรตัวแรกของแต่ละคำเป็นตัวพิมพ์ใหญ่ และในที่สุดจะรวมคำเหล่านั้นกลับมาด้วยกันเพื่อสร้างสตริงที่ทำให้ตัวอักษรตัวแรกเป็นตัวพิมพ์ใหญ่อย่างถูกต้อง
การทำความเข้าใจลึกซึ้ง
Visual Basic for Applications ซึ่งเกิดขึ้นในช่วงต้นยุค 90 เป็นภาษาสำหรับ Macro ของโปรแกรม Microsoft Office ถูกออกแบบมาเพื่อเสนอโมเดลการเขียนโปรแกรมที่สามารถเข้าถึงได้ การจัดการสตริงด้วย VBA ถึงแม้จะกว้างขวาง แต่ก็ขาดการสรุประดับสูงบางอย่างที่พบในภาษาใหม่ ๆ สภาพแวดล้อมการเขียนโปรแกรมสมัยใหม่หลายแห่งให้วิธีการเฉพาะสำหรับการทำให้สตริงเป็นตัวพิมพ์ใหญ่ ซึ่งมักเรียกว่าการใช้ตัวพิมพ์แบบหัวข้อหรือคล้ายกัน ตัวอย่างเช่น Python รวม .title()
สำหรับสตริงไว้
เมื่อเปรียบเทียบ การขาดฟังก์ชันในตัวเดียวใน VBA ที่ใช้สำหรับการทำให้คำในสตริงเป็นตัวพิมพ์ใหญ่อาจดูเหมือนเป็นข้อเสีย อย่างไรก็ตาม สิ่งนี้ให้โอกาสนักพัฒนาที่จะเข้าใจและควบคุมวิธีที่พวกเขาจัดการกับข้อความได้ลึกซึ้งกว่าและสามารถปรับแต่งการจัดการกับคำย่อหรือกรณีพิเศษที่คำเล็กๆ ในชื่อไม่ควรทำเป็นตัวพิมพ์ใหญ่ได้ดียิ่งขึ้นใน VBA ผ่านฟังก์ชันที่ชัดเจน
อีกทั้ง แม้ว่าจะมีวิธีการตรงใน VBA สำหรับการเปลี่ยนกรณีของสตริง (LCase
และ UCase
) แต่วิธียุ่งยากสำหรับการทำให้คำเดี่ยวๆ ภายในสตริงเป็นตัวพิมพ์ใหญ่เน้นการควบคุมที่ละเอียดอ่อนที่ VBA มอบให้กับนักพัฒนา นี่เป็นสิ่งสำคัญโดยเฉพาะอย่างยิ่งในแอปพลิเคชันเช่นการจัดการฐานข้อมูล, การป้อนฟอร์ม, และการแก้ไขเอกสารที่การจัดการข้อความเป็นสิ่งที่บ่อยครั้งแต่หลากหลายในข้อกำหนด
อย่างไรก็ตาม สำหรับแอปพลิเคชันที่มีความต้อการประมวลผลข้อความสูงและหลากหลาย ภาษาที่มีไลบรารีการจัดการสตริงในตัวอาจนำเสนอเส้นทางที่มีประสิทธิภาพมากขึ้น ในสถานการณ์เหล่านั้น การรวมหรือการเติมเต็ม VBA ด้วยทรัพยากรการเขียนโปรแกรมอื่น หรือการเลือกใช้ภาษาอื่นอาจเป็นทางเลือกที่ดี