วิธีสร้างเอกสารเป็น word ซอฟต์แวร์สร้างแบบฟอร์มเอกสารใน Word สร้างเทมเพลตเอกสาร Word

เราอาศัยอยู่ในโลกที่นักพัฒนา PHP ต้องโต้ตอบด้วย ระบบปฏิบัติการหน้าต่าง WMI (อินเทอร์เฟซการจัดการ Windows) การจัดการวินโดวส์) - ตัวอย่างหนึ่งคือการโต้ตอบกับ ไมโครซอฟต์ ออฟฟิศ.

ในบทความนี้เราจะดูการบูรณาการอย่างง่ายระหว่าง Word และ PHP: การสร้าง เอกสารไมโครซอฟต์ช่องป้อนข้อมูลตามคำในรูปแบบ HTML โดยใช้ PHP (และส่วนขยาย Interop)

ขั้นตอนการเตรียมการ

ก่อนอื่น ตรวจสอบให้แน่ใจว่าเราได้กำหนดค่าสภาพแวดล้อม WAMP พื้นฐานไว้แล้ว เนื่องจาก Interop ใช้งานได้บน Windows เท่านั้น เราจึงจำเป็นต้องติดตั้งเซิร์ฟเวอร์ Apache และ PHP ของเราบนเครื่อง Windows ในด้านนี้ ฉันใช้ EasyPHP 14.1 ซึ่งติดตั้งและกำหนดค่าได้ง่ายมาก

สิ่งต่อไปที่คุณต้องทำคือติดตั้ง Microsoft Office รุ่นไม่สำคัญมาก ฉันใช้ Microsoft Office 2013 Pro แต่อะไรก็ได้ เวอร์ชันออฟฟิศเก่ากว่าปี 2550 ก็น่าจะใช้ได้

เรายังต้องตรวจสอบให้แน่ใจด้วยว่าเราติดตั้งไลบรารีเพื่อพัฒนาแอปพลิเคชัน Interop (PIA, Primary Interop Assemblies, Main Interop Assemblies) คุณสามารถค้นหาได้โดยการเปิด วินโดวส์เอ็กซ์พลอเรอร์และไปที่ไดเร็กทอรี \assembly และที่นั่นเราควรเห็นชุดของชุดประกอบที่ติดตั้งไว้:

ที่นี่คุณจะเห็นองค์ประกอบ Microsoft.Office.Interop.Word (ขีดเส้นใต้ในภาพหน้าจอ) นี่จะเป็นบิลด์ที่เราจะใช้ในการสาธิตของเรา โปรดทราบ ความสนใจเป็นพิเศษลงในช่อง "ชื่อแอสเซมบลี", "เวอร์ชัน" และ "โทเค็นคีย์สาธารณะ" เร็วๆ นี้เราจะใช้ในสคริปต์ PHP ของเรา

ไดเร็กทอรีนี้ยังประกอบด้วยแอสเซมบลีอื่นๆ (รวมถึงตระกูล Office ทั้งหมด) ที่พร้อมใช้งานในโปรแกรมของคุณ (ไม่เพียงแต่สำหรับ PHP เท่านั้น แต่ยังสำหรับ VB.net, C# ฯลฯ)

หากรายการแอสเซมบลีไม่รวมแพ็คเกจ Microsoft.Office.Interop ทั้งหมด เราจำเป็นต้องติดตั้ง Office ใหม่โดยเพิ่ม PIA หรือดาวน์โหลดแพ็คเกจด้วยตนเองจากไซต์ Microsoft และติดตั้ง สำหรับข้อมูลเพิ่มเติม คำแนะนำโดยละเอียดอ้างถึงหน้านี้ใน MSDN

ความคิดเห็น: มีเพียงการแจกจ่าย PIA Microsoft Office 2010 เท่านั้นที่สามารถดาวน์โหลดและติดตั้งได้ เวอร์ชันของแอสเซมบลีในแพ็คเกจนี้คือ 14.0.0 และเวอร์ชัน 15 จะมาพร้อมกับ Office 2013 เท่านั้น

สุดท้าย คุณต้องเปิดใช้งานส่วนขยาย php_com_dotnet.dll ใน php.ini และรีสตาร์ทเซิร์ฟเวอร์

ตอนนี้คุณสามารถไปยังการเขียนโปรแกรมได้แล้ว

แบบฟอร์ม HTML

เนื่องจากส่วนหลัก ตัวอย่างนี้อยู่ที่ฝั่งเซิร์ฟเวอร์ เราจะสร้างเพจง่ายๆ ด้วยแบบฟอร์มที่มีลักษณะดังนี้:

เรามีช่องข้อความสำหรับชื่อ กลุ่มปุ่มตัวเลือกสำหรับเพศ แถบเลื่อนสำหรับอายุ และพื้นที่ป้อนข้อความสำหรับป้อนข้อความ เช่นเดียวกับปุ่ม "ส่ง" ที่น่าอับอาย

บันทึกไฟล์นี้เป็น “index.html” ในไดเร็กทอรี โฮสต์เสมือนเพื่อให้สามารถเข้าถึงได้ตามที่อยู่เช่น http://test/test/interop

ส่วนเซิร์ฟเวอร์

ไฟล์ตัวจัดการฝั่งเซิร์ฟเวอร์เป็นเป้าหมายหลักของการสนทนาของเรา เริ่มต้นด้วยฉันจะให้ รหัสเต็มไฟล์นี้แล้วผมจะอธิบายทีละขั้นตอน

มองเห็น = จริง; $fn = __DIR__ . "\\template.docx"; $d = $w->เอกสาร->เปิด($fn); echo "เอกสารเปิดอยู่


"; $flds = $d->Fields; $count = $flds->Count; echo "มีฟิลด์ $count ในเอกสาร
"; เอคโค่"
    "; $mapping = setupfields(); foreach ($flds as $index => $f) ( $f->Select(); $key = $mapping[$index]; $value = $inputs[$key]; if ($key == "gender") ( if ($value == "m") $value = "นาย"; else $value = "นางสาว"; } if($key=="printdate") $value= date ("Y-m-d H:i:s"); $w->Selection->TypeText($value); echo "!}
  • ฉันกำหนดฟิลด์ $index: $key the value $value
  • "; ) เสียงสะท้อน"
; echo "การประมวลผลเสร็จสมบูรณ์!

"; echo "ฉันกำลังพิมพ์ กรุณารอสักครู่...
"; $d->PrintOut(); sleep(3); echo "เสร็จสิ้น!"; $w->Quit(false); $w=null; function setupfields() ( $mapping = array(); $mapping = "เพศ"; $mapping = "ชื่อ"; $mapping = "msg"; $mapping = "วันที่พิมพ์";

หลังจากที่เรากรอกตัวแปร $inputs ด้วยค่าที่ได้รับจากแบบฟอร์มแล้ว และสร้างองค์ประกอบว่างด้วยคีย์ printdate (เราจะพูดถึงสาเหตุที่เราทำสิ่งนี้ในภายหลัง) เราก็มาถึงสี่บรรทัดที่สำคัญมาก:

$assembly = "Microsoft.Office.Interop.Word, เวอร์ชัน=15.0.0.0, วัฒนธรรม=เป็นกลาง, PublicKeyToken=71e9bce111e9429c"; $class = "Microsoft.Office.Interop.Word.ApplicationClass"; $w = DOTNET ใหม่($แอสเซมบลี, $คลาส); $w->มองเห็น = จริง;

โปรแกรมจัดการ COM ใน PHP ต้องการการสร้างอินสแตนซ์ของคลาสภายใน "แอสเซมบลี" ในกรณีของเรา เราทำงานร่วมกับ Word หากคุณดูภาพหน้าจอแรก คุณสามารถเขียนลายเซ็นแอสเซมบลีแบบเต็มสำหรับ Word ได้:

  • “ชื่อ”, “เวอร์ชัน”, “โทเค็นคีย์สาธารณะ” - ทั้งหมดนี้นำมาจากข้อมูลที่สามารถดูได้ใน “c:\Windows\assembly“
  • “วัฒนธรรม” เป็นกลางเสมอ

คลาสที่เราต้องการอ้างอิงจะเรียกว่า "ชื่อแอสเซมบลี" + " .ApplicationClass" เสมอ

ด้วยการตั้งค่าพารามิเตอร์ทั้งสองนี้ เราจึงสามารถรับออบเจ็กต์สำหรับการทำงานกับ Word ได้

วัตถุนี้สามารถคงอยู่ในพื้นหลังได้ หรือเราสามารถกำหนดให้มันเข้าสู่โหมดการทำงานโดยการตั้งค่าแอตทริบิวต์ที่มองเห็นได้เป็น true

ขั้นตอนต่อไปคือการเปิดเอกสารที่ต้องมีการประมวลผลและเขียนอินสแตนซ์ของ “เอกสาร” ลงในตัวแปร $d

หากต้องการสร้างเนื้อหาในเอกสารตามข้อมูลในแบบฟอร์ม คุณสามารถใช้ได้หลายเส้นทาง

สิ่งที่แย่ที่สุดคือการฮาร์ดโค้ดเนื้อหาของเอกสารใน PHP แล้วส่งออกไปยังเอกสาร Word ฉันไม่แนะนำอย่างยิ่งให้ทำเช่นนี้ด้วยเหตุผลดังต่อไปนี้:

  1. คุณจะสูญเสียความยืดหยุ่น การเปลี่ยนแปลงใดๆ ในไฟล์เอาต์พุตจะต้องมีการเปลี่ยนแปลงโค้ด PHP
  2. สิ่งนี้จะทำลายการแยกการควบคุมและการมองเห็น
  3. การใช้สไตล์กับเนื้อหาเอกสาร (การจัดตำแหน่ง แบบอักษร สไตล์ ฯลฯ) ในสคริปต์จะช่วยเพิ่มจำนวนบรรทัดของโค้ดได้อย่างมาก การเปลี่ยนสไตล์โดยทางโปรแกรมนั้นยุ่งยากเกินไป

อีกทางเลือกหนึ่งคือใช้การค้นหาและแทนที่ PHP มีสิ่งอำนวยความสะดวกในตัวที่ดีสำหรับสิ่งนี้ เราสามารถสร้างเอกสาร Word โดยเราจะวางป้ายกำกับที่มีตัวคั่นพิเศษซึ่งจะถูกแทนที่ในภายหลัง ตัวอย่างเช่น เราสามารถสร้างเอกสารที่มีส่วนย่อยต่อไปนี้:

และด้วยความช่วยเหลือของ PHP เราสามารถแทนที่มันด้วยเนื้อหาของฟิลด์ "ชื่อ" ที่ได้รับจากแบบฟอร์มได้อย่างง่ายดาย

ง่ายและช่วยเราจากผลที่ไม่พึงประสงค์ทั้งหมดที่เราพบในวิธีแรก เราเพียงแค่ต้องตัดสินใจเลือกตัวคั่นที่ถูกต้อง ซึ่งในกรณีนี้เราจะใช้รูปแบบ

ฉันขอแนะนำวิธีที่สามและอาศัยความรู้ที่ลึกซึ้งยิ่งขึ้นเกี่ยวกับ Word เราจะใช้ฟิลด์เป็นตัวยึดตำแหน่งและการใช้โค้ด PHP เราจะอัปเดตค่าในฟิลด์ด้วยค่าที่เกี่ยวข้องโดยตรง

วิธีการนี้มีความยืดหยุ่น รวดเร็ว และสอดคล้องกับแนวทางปฏิบัติที่ดีที่สุดของ Word นอกจากนี้ยังช่วยให้คุณหลีกเลี่ยงการค้นหาข้อความแบบเต็มในเอกสารซึ่งดีต่อประสิทธิภาพการทำงานอีกด้วย ฉันทราบว่าโซลูชันนี้ก็มีข้อเสียเช่นกัน

Word ไม่สนับสนุนดัชนีที่มีชื่อสำหรับเขตข้อมูลตั้งแต่เริ่มต้น แม้ว่าเราจะระบุชื่อสำหรับฟิลด์ที่กำลังสร้างแล้ว แต่เรายังคงต้องใช้ตัวระบุที่เป็นตัวเลขของฟิลด์เหล่านี้ นอกจากนี้ยังอธิบายว่าทำไมเราจึงต้องใช้ฟังก์ชันแยกต่างหาก (setupfields) เพื่อจับคู่ดัชนีฟิลด์กับชื่อฟิลด์จากแบบฟอร์ม

ในบทเรียนสาธิตนี้ เราจะใช้เอกสารที่มีช่อง MERGEFIELD 5 ช่อง เราจะวางเอกสารเทมเพลตในตำแหน่งเดียวกับตัวจัดการสคริปต์ของเรา

โปรดทราบว่าฟิลด์วันที่พิมพ์ไม่มีฟิลด์ที่เกี่ยวข้องในแบบฟอร์ม นั่นเป็นสาเหตุที่เราเพิ่มอิลิเมนต์ printdate ว่างๆ ให้กับอาร์เรย์ $inputs หากไม่มีสิ่งนี้ สคริปต์จะยังคงทำงานต่อไป แต่ PHP จะส่งคำเตือนว่าดัชนีวันที่พิมพ์ไม่อยู่ในอาร์เรย์ $inputs

หลังจากแทนที่ฟิลด์ด้วยค่าใหม่แล้ว เราจะพิมพ์เอกสารโดยใช้

$d->งานพิมพ์();

วิธีการ PrintOut ใช้พารามิเตอร์ทางเลือกหลายตัว และเราใช้รูปแบบที่ง่ายที่สุด การดำเนินการนี้จะพิมพ์สำเนาเอกสารหนึ่งชุดบนเครื่องพิมพ์เริ่มต้นที่แนบมากับเครื่อง Windows

คุณยังสามารถเรียก PrintPreview เพื่อดูตัวอย่างผลลัพธ์ก่อนที่จะพิมพ์ได้ ในสภาพแวดล้อมอัตโนมัติเต็มรูปแบบ แน่นอนว่าเราจะใช้วิธีการ PrintOut

คุณอาจต้องรอสักครู่ก่อนที่จะปิดแอปพลิเคชัน Word ดังนั้นจึงต้องใช้เวลาในการจัดคิวงานพิมพ์ โดยไม่ชักช้า (3) เมธอด $w->Quit จะดำเนินการทันทีและงานจะไม่อยู่ในคิว

สุดท้าย เราเรียก $w->Quit(false) ซึ่งจะปิดแอปพลิเคชัน Word ที่สคริปต์ของเราเรียก พารามิเตอร์เดียวที่ส่งผ่านไปยังเมธอดคือคำสั่งให้บันทึกไฟล์ก่อนออก เราได้ทำการเปลี่ยนแปลงในเอกสาร แต่เราไม่ต้องการบันทึกเนื่องจากเราต้องการเทมเพลตที่สะอาดสำหรับการทำงานในภายหลัง

เมื่อเรากรอกโค้ดเสร็จแล้ว เราก็สามารถโหลดหน้าแบบฟอร์มของเรา กรอกค่าบางค่า และส่งได้เลย รูปภาพด้านล่างแสดงผลลัพธ์ของสคริปต์ รวมถึงเอกสาร Word ที่อัปเดต:

ปรับปรุงความเร็วในการประมวลผลและเพิ่มเติมเกี่ยวกับ PIA เล็กน้อย

PHP เป็นภาษาที่พิมพ์ได้ไม่ดีนัก วัตถุ COM ประเภทวัตถุ ในขณะที่เขียนสคริปต์ เราไม่สามารถรับคำอธิบายของวัตถุได้ ไม่ว่าจะเป็นแอปพลิเคชัน Word เอกสาร หรือฟิลด์ เราไม่ทราบว่าออบเจ็กต์นี้มีคุณสมบัติใดบ้าง หรือรองรับวิธีการใดบ้าง

สิ่งนี้จะทำให้ความเร็วการพัฒนาช้าลงอย่างมาก เพื่อเร่งการพัฒนา ฉันขอแนะนำให้เขียนฟังก์ชันใน C# ก่อน แล้วจึงแปลโค้ดเป็น PHP ฉันสามารถแนะนำ IDE ฟรีสำหรับการพัฒนา C# ที่เรียกว่า “#develop” ได้ คุณสามารถหามันได้ ฉันชอบ Visual Studio มากกว่าเพราะ #develop นั้นเล็กกว่า ง่ายกว่า และเร็วกว่า

การย้ายโค้ด C# ไปยัง PHP ไม่ได้น่ากลัวอย่างที่คิด ฉันจะแสดงให้คุณเห็นสองสามบรรทัดใน C#:

Word.Application w=ใหม่ Word.Application(); w.มองเห็น=จริง; เส้นทางสตริง=Application.StartupPath+"\\template.docx"; Word.Document d=w.Documents.Open(path) เป็น Word.Document; Word.Fields flds=d.Fields; int len=flds.นับ; foreach (Word.Field f ใน flds) ( f.Select(); int i=f.Index; w.Selection.TypeText("..."); )

คุณจะสังเกตได้ว่าโค้ด C# คล้ายกับโค้ด PHP ที่ผมแสดงไว้ก่อนหน้านี้มาก C# เป็นภาษาที่พิมพ์ยาก ดังนั้นคุณจะเห็นได้ในตัวอย่างนี้ว่ามีตัวดำเนินการคาสต์หลายตัว และจำเป็นต้องพิมพ์ตัวแปร

ด้วยการระบุประเภทของตัวแปร คุณสามารถเพลิดเพลินกับโค้ดที่สะอาดกว่าและการเติมข้อความอัตโนมัติ และความเร็วในการพัฒนาก็เพิ่มขึ้นอย่างมาก

อีกวิธีในการเร่งการพัฒนา PHP คือการเรียกแมโครใน Word เราดำเนินการตามลำดับการกระทำเดียวกัน จากนั้นจึงบันทึกเป็นมาโคร มาโครเขียนด้วย Visual Basic ซึ่งแปลเป็น PHP ได้ง่ายเช่นกัน

และที่สำคัญที่สุด เอกสาร Office PIA ของ Microsoft โดยเฉพาะเอกสารเนมสเปซสำหรับแอปพลิเคชัน Office แต่ละรายการ เป็นเอกสารอ้างอิงที่มีรายละเอียดมากที่สุด แอปพลิเคชันที่ใช้มากที่สุดสามรายการคือ:

  • Excel 2013: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel(v=office.15).aspx
  • Word 2013: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word(v=office.15).aspx
  • PowerPoint 2013: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.powerpoint(v=office.15).aspx

บทสรุป

ในบทความนี้ เราได้แสดงวิธีเติมข้อมูลในเอกสาร Word โดยใช้ไลบรารี PHP COM และความสามารถในการทำงานร่วมกันของ Microsoft Office

Windows และ Office ถูกนำมาใช้อย่างแพร่หลายในชีวิตประจำวัน การรู้ถึงประสิทธิภาพของ Office/Window และ PHP จะเป็นประโยชน์สำหรับนักพัฒนา PHP และ Windows ทุกคน

ส่วนขยาย PHP COM เปิดประตูสู่การใช้ชุดค่าผสมนี้

เราทุกคนจัดการกับข้อความไม่ทางใดก็ทางหนึ่ง บางครั้งมีความจำเป็นต้องสร้างข้อความจำนวนมากหรือไม่ใหญ่มากสำหรับงานบางอย่างเช่นเพื่อเล่นกับการจัดรูปแบบ แต่ไม่มีข้อความอยู่ในมือคุณขี้เกียจเกินไปที่จะเขียนด้วยตัวเอง จะทำอย่างไร? คำตอบนั้นง่าย: ใช้ตัวสร้างข้อความแบบสุ่มที่สร้างไว้ใน Word!

ในบรรณาธิการ ไมโครซอฟต์ เวิร์ดคุณสามารถสร้างข้อความได้อย่างรวดเร็วและง่ายดายโดยใช้คำสั่งพิเศษ ฉันจะใช้ Word 2007 เป็นหนูตะเภา คำสั่งเหล่านี้ควรใช้ได้กับ Word ทุกรุ่น ฉันจะบอกคุณเกี่ยวกับวิธีการสร้างข้อความสามวิธี

วิธีที่ 1: การใช้ rand()

ฟังก์ชัน rand() แทรกข้อความตัวอย่างที่แปลแล้ว 3 ย่อหน้าคูณ 3 ประโยค เปิด Word ของคุณ วางเคอร์เซอร์ในตำแหน่งที่ข้อความจะปรากฏขึ้นในไม่ช้า แล้วป้อนคำสั่ง:

และกด Enter ฟังก์ชัน rand จะหายไปและข้อความ 3 ย่อหน้าจะปรากฏขึ้นแทนที่:

แต่นั่นไม่ใช่ทั้งหมด หากคุณต้องการข้อความจำนวนมาก คุณสามารถใช้ฟังก์ชัน rand พร้อมอาร์กิวเมนต์เพิ่มเติมได้ เช่นนี้

=แรนด์(x,y)

ที่ไหน " x" หมายถึง จำนวนย่อหน้า และ " "—จำนวนประโยคในแต่ละย่อหน้า ตัวอย่างเช่น, =แรนด์(20.5)จะแทรก 20 ย่อหน้า โดยแต่ละย่อหน้ามี 5 วลี ก =แรนด์(7)จะแทรก 7 ย่อหน้า ละ 3 ประโยค

วิธีที่ 2: การใช้ lorem()

หากต้องการแทรก Lorem Ipsum เก่าๆ เป็นตัวอย่าง ให้ใช้ฟังก์ชัน lorem() พิมพ์คำสั่งต่อไปนี้แล้วกด Enter:

และเราก็ได้ข้อความแพนลาตินนี้

ฟังก์ชัน lorem() ยังยอมรับอาร์กิวเมนต์เพิ่มเติม เช่น rand() ในรูปแบบของจำนวนย่อหน้าและประโยคได้อย่างง่ายดาย หากไม่มีอาร์กิวเมนต์ ฟังก์ชันจะแทรกตามค่าเริ่มต้น 3 ย่อหน้า โดยแต่ละย่อหน้ามี 3 ประโยค

วิธีที่ 3. ฟังก์ชัน rand.old()

การใช้งานคล้ายกับคำสั่งก่อนหน้า:

=rand.old()

และกด Enter

ฟังก์ชัน rand.old() ถูกปล่อยให้เข้ากันได้กับ office เก่า จนถึงปี 2003 รวมอยู่ด้วย วิธีการสมัครจะเหมือนกับสองวิธีก่อนหน้านี้ เพียงข้อความเท่านั้นที่จะประกอบด้วยวลีเดียวกัน “Eat some more of their soft French rolls and drink some tea.” ใครก็ตามที่เคยทำงานกับฟอนต์เป็นครั้งคราวจะรู้จักวลีนี้

คุณสามารถส่งผ่านอาร์กิวเมนต์ได้ เช่นเดียวกับในสองวิธีแรก

เพียงเท่านี้ ข้อความก็ถูกสร้างขึ้น ตอนนี้คุณสามารถกินเฟรนช์โรลนุ่ม ๆ และดื่มชาได้มากขึ้น :)

คุณสามารถวางข้อความโดยใช้ฟังก์ชันข้างต้นได้หรือไม่?

ในบทความก่อนหน้านี้ในชุด "การเติมเอกสารอัตโนมัติ" ฉันได้พูดถึงวิธีสร้างอินเทอร์เฟซผู้ใช้ของแอปพลิเคชัน จัดระเบียบการตรวจสอบความถูกต้องของข้อมูลอินพุต และรับตัวเลขเป็นคำโดยไม่ต้องใช้โค้ด VBA ในบทความสุดท้ายนี้เราจะพูดถึงความมหัศจรรย์ของการถ่ายโอนค่าที่จำเป็นทั้งหมดจากสมุดงาน Excel ไปยังเอกสาร Word ฉันขอแสดงให้คุณเห็นว่าท้ายที่สุดแล้วอะไรจะเกิดขึ้น:

คำอธิบายของกลไก

ขั้นแรกฉันจะอธิบายในแง่ทั่วไปว่าข้อมูลจะถูกถ่ายโอนไปยังเอกสาร Word อย่างไร ก่อนอื่น เราจะต้องมีเทมเพลตเอกสาร Word ที่มีมาร์กอัป ตาราง และส่วนหนึ่งของข้อความที่จะไม่เปลี่ยนแปลง ในเทมเพลตนี้ คุณต้องกำหนดตำแหน่งที่จะแทนที่ค่าจากสมุดงาน Excel ซึ่งทำได้สะดวกที่สุดโดยใช้บุ๊กมาร์ก หลังจากนี้ คุณจะต้องจัดระเบียบข้อมูล Excel ในลักษณะเพื่อให้แน่ใจว่าสอดคล้องกับเทมเพลต Word และสุดท้ายแต่ไม่ท้ายสุด เขียนขั้นตอนการถ่ายโอนใน VBA

ดังนั้นสิ่งแรกก่อน

สร้างเทมเพลตเอกสาร Word

ทุกอย่างที่นี่ง่ายมาก - เราสร้างเอกสารปกติ พิมพ์และจัดรูปแบบข้อความ โดยทั่วไปแล้วเราได้แบบฟอร์มที่ต้องการ ในตำแหน่งที่คุณจะต้องแทนที่ค่าจาก Excel คุณจะต้องสร้างบุ๊กมาร์ก ทำได้ดังนี้:

ดังนั้นคุณจะต้องสร้างบุ๊กมาร์กทั้งหมดนั่นคือทำเครื่องหมายสถานที่ทั้งหมดที่จะแทรกข้อมูลจาก Excel ไฟล์ที่ได้จะต้องบันทึกเป็น "เทมเพลต MS Word" โดยใช้รายการเมนู "ไฟล์" -> "บันทึกเป็น..."

การเตรียมข้อมูล Excel

เพื่อความสะดวก ฉันตัดสินใจวางข้อมูลทั้งหมดที่ต้องโอนไปยังเอกสาร Word ลงในแผ่นงานแยกต่างหากที่เรียกว่า บุ๊กมาร์ก - บุ๊กมาร์ก แผ่นงานนี้มีสองคอลัมน์: คอลัมน์แรกประกอบด้วยชื่อของบุ๊กมาร์ก (เหมือนกับที่มีชื่อในเอกสาร Word) และคอลัมน์ที่สองประกอบด้วยค่าที่เกี่ยวข้องที่จะถ่ายโอน

ค่าเหล่านี้บางส่วนได้รับโดยตรงจากแผ่นข้อมูลและบางส่วนได้มาจากตารางเสริมที่อยู่ในแผ่นสนับสนุน ในบทความนี้ ฉันจะไม่วิเคราะห์สูตรที่คำนวณค่าที่ต้องการ หากมีอะไรไม่ชัดเจน ให้ถามคำถามในความคิดเห็น

ในขั้นตอนนี้ การระบุชื่อบุ๊กมาร์กทั้งหมดอย่างถูกต้องเป็นสิ่งสำคัญ - ความถูกต้องของการถ่ายโอนข้อมูลขึ้นอยู่กับสิ่งนี้

ขั้นตอนการโอน

แต่นี่คือสิ่งที่น่าสนใจที่สุด มีสองตัวเลือกในการรันโค้ดการย้ายข้อมูล:

  • รหัสทำงานในสมุดงาน Excel ข้อมูลจะถูกโอนไปยัง Word ครั้งละหนึ่งค่าและวางลงในเอกสารทันที
  • รหัสถูกดำเนินการในเอกสาร Word แยกต่างหาก ข้อมูลทั้งหมดจะถูกถ่ายโอนจาก Excel ในชุดเดียว

จากมุมมองของความเร็วในการดำเนินการโดยเฉพาะอย่างยิ่งเมื่อมีบุ๊กมาร์กจำนวนมาก ตัวเลือกที่สองดูน่าสนใจกว่ามาก แต่ต้องมีการดำเนินการที่ซับซ้อนมากขึ้น นั่นคือสิ่งที่ฉันใช้

นี่คือสิ่งที่คุณต้องทำ:

  • สร้างเทมเพลตเอกสาร Word พร้อมรองรับแมโครเทมเพลตนี้จะมีโค้ด VBA ที่ปฏิบัติการได้
  • ในเทมเพลตที่สร้างขึ้นคุณต้องวางโปรแกรมที่เขียนใน VBAในการดำเนินการนี้ เมื่อแก้ไขเทมเพลต ให้กดคีย์ผสม Alt+F11 แล้วป้อนรหัสโปรแกรมในหน้าต่างตัวแก้ไข Visual Basic ที่เปิดขึ้น
  • ในเวิร์กบุ๊ก Excel ให้เขียนโค้ดที่เรียกขั้นตอนการเติมจากเทมเพลต Word ที่สร้างขึ้นใหม่.

ฉันจะไม่ระบุข้อความของขั้นตอนในบทความ - สามารถดูได้อย่างง่ายดายในไฟล์ FillDocument.dotm ซึ่งอยู่ในโฟลเดอร์เทมเพลตในไฟล์เก็บถาวรพร้อมตัวอย่าง

คุณจะใช้ทั้งหมดนี้เพื่อแก้ไขปัญหาเฉพาะของคุณได้อย่างไร?

ฉันเข้าใจว่าทั้งหมดนี้ดูเรียบง่ายมาก แต่ในทางปฏิบัติจะเกิดอะไรขึ้น? ฉันขอแนะนำให้คุณใช้ตัวเลือกสำเร็จรูป ดาวน์โหลดไฟล์เก็บถาวรพร้อมตัวอย่างในสมุดงาน Excel กดคีย์ผสม Alt+F11 เพื่อเปิดตัวแก้ไข Visual Basic และอ่านความคิดเห็นทั้งหมดของฉันเกี่ยวกับโปรแกรม ในการเปลี่ยนโปรแกรมให้เหมาะกับความต้องการของคุณ คุณเพียงแค่ต้องเปลี่ยนค่าของค่าคงที่หลายค่าเท่านั้น โดยค่าเหล่านี้จะอยู่ที่จุดเริ่มต้นของโปรแกรม คุณสามารถคัดลอกข้อความทั้งหมดของโปรแกรมลงในโครงการของคุณได้อย่างอิสระ

โครงสร้างเอกสารสำคัญ

ไฟล์เก็บถาวรที่แนบมากับบทความนี้มีหลายไฟล์

ไฟล์หลักคือสมุดงาน Excel ชื่อ "การสร้างการยืนยัน" สมุดงานนี้มี 4 แผ่นงานโดยมีเพียง 2 แผ่นเท่านั้นที่แสดง: "อินพุต" - แผ่นป้อนข้อมูลและ "ฐานข้อมูล" - ไฟล์เก็บถาวรของเอกสารที่ป้อนทั้งหมด

โฟลเดอร์เทมเพลตประกอบด้วยเทมเพลตเอกสาร Word หนึ่งในนั้นคือเทมเพลตที่มีโปรแกรมสำหรับกรอกบุ๊กมาร์กและอันที่สองคือแบบฟอร์มสำหรับกรอก คุณสามารถใช้เทมเพลตกับโปรแกรมได้โดยไม่ต้องแก้ไข แต่จะต้องกรอกแบบฟอร์มใหม่ตามความต้องการของคุณ

จะนำตัวอย่าง “เพื่อตัวคุณเอง” มาใช้ใหม่ได้อย่างไร?

  1. เตรียมเทมเพลตเอกสาร Word ที่จะกรอก สร้างบุ๊กมาร์กที่จำเป็นทั้งหมดแล้วบันทึกเป็น "เทมเพลต MS Word"
  2. คัดลอกไฟล์ FillDocument.dotm จากไฟล์เก็บถาวรที่แนบมากับบทความนี้ไปยังโฟลเดอร์ที่มีเทมเพลตที่เตรียมไว้ ไฟล์นี้มีหน้าที่กรอกบุ๊กมาร์กเทมเพลตและไม่จำเป็นต้องเปลี่ยนแปลงอะไรในนั้น
  3. เตรียมสมุดงาน Excel สำหรับการป้อนข้อมูล ขึ้นอยู่กับคุณที่จะตัดสินใจว่าจะมีอินเทอร์เฟซผู้ใช้ "ขั้นสูง" และทำการคำนวณที่ยุ่งยากต่างๆ หรือไม่ สิ่งสำคัญคือประกอบด้วยแผ่นงานที่มีตารางการติดต่อระหว่างชื่อของบุ๊กมาร์กในเทมเพลต Word และค่าที่ต้องทดแทน
  4. ใส่โค้ดโปรแกรม VBA จากไฟล์ตัวอย่างลงในสมุดงานที่เตรียมไว้ แทนที่ค่าคงที่ทั้งหมดตามโครงการของคุณ
  5. ทดสอบการทำงานที่ถูกต้อง
  6. ใช้งานมันอย่างจริงจัง!

นามสกุลในคอลัมน์ บีและอาชีพในคอลัมน์ .

2. สร้างเอกสารคำ (.doc หรือ .docx)


(ก), (ข)และ (ค).

(ก), (ข)และ (ค) (ก)- ชื่อ, (ข)- นามสกุล (ค)- วิชาชีพ.

การตั้งค่าโปรแกรม

3. เลือกเส้นทางสำหรับไฟล์และโฟลเดอร์


เลือก

4. ระบุแผ่นงานและแถวของข้อมูลที่ต้องการ


เอกสารข้อมูลไฟล์ Excel

แถวข้อมูลไฟล์ Excel เอกสารข้อมูลไฟล์ Excel

1 .

หากคุณต้องการให้ชีตและ/หรือแถวทั้งหมดของไฟล์ Excel พร้อมข้อมูลมีส่วนร่วมในการก่อตัวของเอกสาร ให้คลิกที่ปุ่มที่เกี่ยวข้องซึ่งมีข้อความทางด้านขวา ตัวเลข(คำจารึกจะเปลี่ยนเป็น ทั้งหมด).

5. ตั้งค่าเทมเพลตสำหรับการตั้งชื่อไฟล์คำใหม่


กำหนดรูปแบบการตั้งชื่อสำหรับไฟล์คำใหม่:

เทมเพลตชื่อไฟล์คำใหม่- นี่คือเทมเพลตสำหรับชื่อของเอกสารใหม่ (ไฟล์คำ) ที่สร้างโดยโปรแกรม รูปแบบชื่อประกอบด้วยชื่อคอลัมน์ของไฟล์ Excel ล้อมรอบด้วยเครื่องหมายปีกกา: (ก)และ (ข)- เมื่อสร้างเอกสารใหม่โปรแกรมจะเข้ามาแทนที่ทุกอย่าง (ก)และ (ข)ค่าเซลล์ที่เกี่ยวข้องจากไฟล์ Excel - นี่จะเป็นชื่อของเอกสารใหม่ (ไฟล์คำ)

คุณสามารถตั้งค่าอักขระการจัดเฟรมของคุณได้บนแท็บ การตั้งค่าโปรแกรม

6. คลิก "สร้าง"


คลิกปุ่ม สร้างและความคืบหน้าจะปรากฏบนหน้าจอ เอกสารจำนวนมาก (ไฟล์เวิร์ด) จะถูกสร้างขึ้นตามจำนวนบรรทัดในไฟล์ Excel ที่เกี่ยวข้องในการสร้าง

7. ทุกอย่าง


เอกสารทั้งหมด (ไฟล์เวิร์ด) ถูกสร้างขึ้นและอยู่ในโฟลเดอร์ที่ระบุ โฟลเดอร์สำหรับบันทึกไฟล์คำใหม่- ทั้งหมด:)

เอ็กวอก- เครื่องมือสร้างรายงานจาก Excel เป็น Word โดยใช้เทมเพลต

โปรแกรมสร้างไฟล์ Word ฟรีโดยใช้เทมเพลต (ไฟล์ Word) ตามข้อมูลไฟล์ Excel

ทำงานบน Mac OS, Windows และ Linux

ช่วยให้คุณสามารถระบุชื่อของไฟล์คำที่สร้างขึ้นใหม่

ช่วยให้คุณระบุแผ่นงานและแถวของข้อมูลที่ต้องการ

ช่วยให้คุณสามารถระบุอักขระโดยรอบสำหรับชื่อคอลัมน์ Excel

ใช้งานง่าย

จัดเก็บข้อมูลของคุณในรูปแบบ Excel (.xls และ .xlsx) และสร้างไฟล์ Word (.doc และ .docx) ได้ในไม่กี่คลิก :)


มันทำงานอย่างไร?

ตรวจสอบไฟล์ Excel ของคุณ


ในตัวอย่างนี้ ไฟล์ Excel มีข้อมูลเกี่ยวกับไคลเอนต์ แต่ละบรรทัดสอดคล้องกับลูกค้าเฉพาะราย ชื่อจะถูกจัดเรียงเป็นคอลัมน์ นามสกุลในคอลัมน์ บีและอาชีพในคอลัมน์ .

คลิกเพื่อดู

สร้างเอกสารคำ (.doc หรือ .docx)


คลิกเพื่อดู

สร้าง “เทมเพลต” (ไฟล์เวิร์ด) สำหรับสร้างเอกสารใหม่ (ไฟล์เวิร์ด) ข้อความ "เทมเพลต" ที่นี่ประกอบด้วยชื่อของคอลัมน์ไฟล์ Excel ที่ล้อมรอบด้วยเครื่องหมายปีกกา: (ก), (ข)และ (ค).

โปรแกรมจะสร้างเอกสารใหม่ตาม "เทมเพลต" แทนที่ทั้งหมด (ก), (ข)และ (ค)ค่าเซลล์ที่สอดคล้องกันจากไฟล์ Excel: (ก)- ชื่อ, (ข)- นามสกุล (ค)- วิชาชีพ.

คุณยังสามารถตั้งค่าอักขระการจัดเฟรมบนแท็บได้อีกด้วย การตั้งค่าโปรแกรม

เลือกเส้นทางสำหรับไฟล์และโฟลเดอร์


เลือกเส้นทางสำหรับไฟล์และโฟลเดอร์ (ปุ่มที่มีป้ายกำกับ เลือก- ในโปรแกรมคุณระบุเส้นทางต่อไปนี้:

ไฟล์ Excel พร้อมข้อมูล (*.xls, *.xlsx)- นี่คือเส้นทางไปยังไฟล์ Excel ของคุณพร้อมข้อมูล (ข้อมูลลูกค้า)

ไฟล์เทมเพลต Word (*.doc, *.docx)- นี่คือเส้นทางไปยัง "เทมเพลต" ของคุณ (ไฟล์คำที่สร้างในขั้นตอนก่อนหน้า)

โฟลเดอร์สำหรับบันทึกไฟล์คำใหม่- นี่คือเส้นทางไปยังโฟลเดอร์ที่โปรแกรมจะบันทึกเอกสารที่สร้างขึ้นใหม่

คลิกเพื่อดู

ระบุแผ่นงานและแถวของข้อมูลที่ต้องการ


คลิกเพื่อดู

ระบุจำนวนชีตและแถวของไฟล์ Excel ของคุณด้วยข้อมูล (ข้อมูลลูกค้า) ที่คุณต้องการสร้างเอกสาร:

เอกสารข้อมูลไฟล์ Excel- จำนวนชีตของไฟล์ Excel ของคุณที่จะเข้าร่วมในการสร้างเอกสารใหม่

แถวข้อมูลไฟล์ Excel- หมายเลขบรรทัดของแผ่นงาน (แผ่นที่ระบุใน เอกสารข้อมูลไฟล์ Excel) ของไฟล์ Excel ของคุณซึ่งจะมีส่วนร่วมในการสร้างเอกสารใหม่ ตามข้อมูลของแต่ละบรรทัด จะมีการสร้างเอกสารแยกต่างหาก (ไฟล์เวิร์ด)

การนับจำนวนแผ่นงานและบรรทัดในโปรแกรมเริ่มต้นด้วย 1 .

ครั้งหนึ่งหลังจากสรุปผลการแข่งขันโอลิมปิกแล้ว เมื่อผู้เข้าร่วมต้องส่งจดหมายแจ้งผลการสอบวิชาที่ผ่าน (หรือสอบตก) ข้าพเจ้าสังเกตว่ามีเด็กผู้หญิงคนหนึ่งนั่งใช้มือเข้าผลการสอบ ชื่อและข้อมูลอื่นๆ ลงในเทมเพลตจดหมาย ด้านหน้าของเธอมีกระดาษหลายแผ่นที่พิมพ์จาก Excel พร้อมชื่อและเกรด คัดลอก-วาง, Ctrl+C - Ctrl+V การแปลชื่อเต็มจากนามนามเป็นกรณีสัมพันธการก และงานได้เสร็จสิ้นไปแล้วครึ่งหนึ่งของข้อมูลสามแผ่นแรก คุณคิดว่าเธอจะนั่งคัดลอกข้อมูลและตรวจสอบผลลัพธ์ได้นานแค่ไหน ฉันคิดว่ามันคงจะใช้เวลานานและก็จะมีข้อผิดพลาดอยู่บ้าง แต่แล้วเธอก็ยังต้องลงนามในซองไปรษณีย์... ฉันรู้สึกเสียใจกับเวลาของเธอ และในเวลาเพียงไม่กี่นาที ฉันก็แสดงให้เห็นว่ากระบวนการนี้สามารถทำให้เป็นอัตโนมัติได้อย่างไรโดยใช้วิธีการง่ายๆ หลังจากการทัศนศึกษาเล็กน้อย งานของเธอก็เสร็จภายใน 20 นาที

ในบทนี้ ฉันจะแสดงให้คุณเห็นว่าคุณสามารถสร้างเอกสารอย่างรวดเร็ว (จดหมาย บัตรเชิญ) โดยใช้เวลาขั้นต่ำไปกับมันได้อย่างไร ในภาษาต่างๆ กระบวนการที่อธิบายนี้เรียกว่าแตกต่างกัน ดังนั้นในภาษารัสเซียจึงเรียกว่า "ผสาน" และในภาษาอังกฤษเรียกว่า "ผสาน"

ฉันหวังว่า "จดหมายลูกโซ่" จากกองทุนบำเหน็จบำนาญและประกาศภาษีจะถูกสร้างขึ้นในลักษณะเดียวกัน :)

เครื่องมือ

ในการสร้างเอกสารเราจำเป็นต้องมี OpenOffice Writer ในนั้นเราจะสร้างเทมเพลตจดหมาย คุณจะต้องมี OpenOffice Calc ด้วย ในนั้นเราจะสร้างฐานข้อมูลพร้อมชื่อและที่อยู่ของบุคคลเหล่านั้นที่เราต้องการเชิญเข้าร่วมงานปาร์ตี้ สามารถใช้ MS Word และ Excel แทนโปรแกรมจากแพ็คเกจ OpenOffice ได้อย่างง่ายดาย ฐานข้อมูลสามารถจัดเก็บใน MS Access ได้อย่างง่ายดาย เอาล่ะ มาเริ่มกันเลย

การสร้างฐานข้อมูล

ฐานข้อมูลไม่มีอะไรมากไปกว่าตารางใน MS Excel หรือ OpenOffice Calc โดยที่ข้อมูลถูกจัดเรียงเป็นคอลัมน์และใช้แถวแรกเพื่อตั้งชื่อคอลัมน์ ตัวอย่างเช่น เรามาสร้างคอลัมน์ "ชื่อเต็ม", "เมือง", "ดัชนี", "ที่อยู่" ป้อนข้อมูลและบันทึกไฟล์ลงดิสก์



แหล่งข้อมูลอื่นๆ ยังสามารถใช้เป็นฐานข้อมูลได้ เช่น สมุดรายชื่อ Outlook หรือฐานข้อมูล MS Access

การสร้างเทมเพลตจดหมาย

การสร้างเทมเพลตจดหมายนั้นซับซ้อนกว่าเล็กน้อย เนื่องจากข้อมูลจากตาราง (ฐานข้อมูลของเรา) จะถูกแทรกลงในเทมเพลตเหมือนเดิม จึงต้องเขียนตัวอักษรตามนั้น หากชื่อเต็มของคุณอยู่ในฐานข้อมูลของคุณ คุณจะไม่สามารถใช้ฟิลด์นี้ในที่อยู่ “เรียน<ФИО>- และสำหรับซองในบรรทัด “ถึง:<ФИО>- ในกรณีหลังนี้ชื่อเต็มจะดูค่อนข้างงุ่มง่าม

เมื่อเขียนเทมเพลตจดหมาย ฉันแนะนำให้เริ่มต้นด้วยการเขียนจดหมายถึงบุคคลจริงๆ คุณสามารถทำได้ด้วยตัวเอง จากนั้นไฮไลต์ข้อมูลที่คุณจะนำมาจากฐานข้อมูลและแทนที่ด้วยฟิลด์ที่เหมาะสม ก่อนที่จะแทนที่ข้อความที่เลือกในฟิลด์ ฉันขอแนะนำให้ใส่ใจกับตัวอักษรที่ฟิลด์ในฐานข้อมูลควรขึ้นต้นด้วย (ตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่) แน่นอนคุณสามารถสร้างเทมเพลตได้ทันทีด้วยฟิลด์ แต่คุณอาจไม่สังเกตเห็นข้อผิดพลาดบางอย่าง เช่น ความไม่สอดคล้องกันในบางกรณี



ในเทมเพลตที่กำหนดเป็นที่ชัดเจนว่าเราจะต้องมีชื่อเต็มในกรณีสัมพันธการกและฟิลด์ที่มีเฉพาะชื่อและชื่อกลางเท่านั้น ในฟิลด์แรก เราสามารถแทนที่ "ถึง" ด้วย "ผู้รับ" จากนั้นชื่อเต็มในกรณีเสนอชื่อจะเหมาะกับเราอย่างยิ่ง ในฟิลด์ที่สองทุกอย่างค่อนข้างซับซ้อนกว่าและเราจะต้องสร้างคอลัมน์อื่นในฐานข้อมูลและกรอกข้อมูลที่เหมาะสม ในบทเรียนหน้าหนึ่ง ฉันจะบอกคุณถึงวิธีการดำเนินการนี้โดยอัตโนมัติ แต่สำหรับตอนนี้ เราจะถือว่าเรามีสาขาดังกล่าวอยู่แล้ว

หากต้องการแทรกเขตข้อมูลและผูกเทมเพลตกับฐานข้อมูล คุณต้องดำเนินการตามลำดับต่อไปนี้ ใน OpenOffice Writer ให้เลือกฐานข้อมูล



และคลิก "กำหนด"



จากนั้นแทรกฟิลด์จากฐานข้อมูลที่เชื่อมต่อไปยังตำแหน่งที่ต้องการ หากต้องการทำสิ่งนี้ ให้กด Ctrl+F2 หรือในเมนู "แทรก" ให้เลือก "ฟิลด์" และ "อื่นๆ" ในหน้าต่างที่เปิดขึ้น เลือกแท็บ "ฐานข้อมูล" เลือก "ฟิลด์จดหมายเวียน" ในประเภทฟิลด์ เลือกฟิลด์ที่เหมาะสมจากฐานข้อมูล แล้วคลิก "แทรก" สามารถเลือกฐานข้อมูลจริงได้ในหน้าต่างนี้



หลังจากแทรกฟิลด์หนึ่งแล้ว คุณสามารถเลือกข้อความเพื่อแทนที่ด้วยฟิลด์ถัดไป เลือกฟิลด์แล้วคลิก "แทรก" อีกครั้งได้โดยไม่ต้องปิดหน้าต่างปัจจุบัน และอื่นๆ ในแต่ละสาขา

สำหรับ MS Word สถานการณ์จะค่อนข้างคล้ายกันและอาจสะดวกกว่า หลังจากสร้างตารางใน MS Excel แล้ว ให้เปิด MS Word แล้วไปที่แท็บ "การแจกแจง" บนแท็บนี้ คุณจะเห็นสามขั้นตอนที่จำเป็น: "เริ่มการรวม", "ร่างเอกสารและแทรกฟิลด์" และ "เสร็จสิ้น" นอกจากนี้ยังมีขั้นตอนกลาง "ดูผลลัพธ์" แต่ก็เป็นทางเลือก

ดังนั้นงานจึงเริ่มต้นด้วยการเลือกเอกสาร อาจเป็นตัวอักษร สติ๊กเกอร์ หรือเอกสาร Word ธรรมดา คุณสามารถเปิด Merge Wizard ได้ทันที ซึ่งจะแนะนำคุณตลอดทุกขั้นตอนของกระบวนการ ขั้นตอนต่อไปคือการเลือกผู้รับซึ่งก็คือฐานข้อมูล ที่นี่คุณสามารถเลือกฐานข้อมูลสำเร็จรูป (เช่น ตาราง MS Excel ที่สร้างในขั้นตอนก่อนหน้า) หรือสร้างรายการใหม่ หลังจากเลือกรายการแล้ว ปุ่ม "แทรกฟิลด์ผสาน", "เปลี่ยนรายชื่อผู้รับ" ฯลฯ จะใช้งานได้ ผ่านกล่องโต้ตอบ "เปลี่ยนรายชื่อผู้รับ" ซึ่งเปิดขึ้นพร้อมกับปุ่มที่เกี่ยวข้อง คุณสามารถเลือกจากรายการทั้งหมด เฉพาะบันทึกที่จำเป็นสำหรับการรวมเท่านั้น







เมื่อแทรกฟิลด์ ฉันพบว่าสะดวกที่จะเน้นฟิลด์ทั้งหมดเป็นสีเทาโดยคลิกที่ปุ่ม "ไฮไลต์ผสานฟิลด์" มิฉะนั้น หากมีฟิลด์ดังกล่าวจำนวนมาก ฟิลด์เหล่านั้นอาจหายไปในข้อความได้

เทมเพลตก็พร้อมแล้ว

การสร้างตัวอักษร

ขั้นตอนสุดท้ายคือการสร้างตัวอักษร ใน OpenOffice ให้ทำสิ่งนี้ในเมนู "เครื่องมือ" เลือก "Mail Merge Wizard..." และทำตามขั้นตอนที่เสนอทั้งหมดเพื่อรวมเทมเพลตของเราเข้ากับฐานข้อมูล





ในกล่องโต้ตอบ เราจะเห็นว่าจาก 8 ประเด็นที่เสนอ เราไม่จำเป็นต้องดำเนินการบางประเด็น ดังนั้นเราจึงสร้างเอกสารแล้วและเราไม่จำเป็นต้องแก้ไข และเราได้แทรกบล็อกที่อยู่แล้วด้วย แต่มาทำสิ่งต่าง ๆ ตามลำดับ

ขั้นแรก เลือกว่าเรากำลังสร้างตัวอักษรตามเอกสารปัจจุบันแล้วคลิก "ถัดไป" ที่ด้านล่างของหน้าต่าง ประเด็นที่สองคือการเลือกว่าเราจะมีจดหมายฉบับนี้หรืออีเมล หากต้องการบันทึกจดหมายลงในไฟล์ คุณควรเลือกจดหมายฉบับแรก คลิก "ถัดไป" ประเด็นที่สามขอให้เราสร้างบล็อกที่อยู่ แต่เนื่องจากเราสร้างขึ้นด้วยตนเอง เราจึงยกเลิกการเลือกช่องทั้งหมดและไปยังขั้นตอนถัดไป ที่นี่เราถูกขอให้แทรกคำขอ แต่เรามีอยู่แล้ว ดังนั้นเราจึงคลิก "ถัดไป" จุดที่หกคือการแก้ไขเอกสาร ดูเอกสารที่มีการแทรกฟิลด์จากฐานข้อมูล และหากจำเป็น ให้แยกบางฟิลด์ออก



ขั้นตอนที่ 7 ขอให้คุณแก้ไขแต่ละไฟล์ที่สร้างขึ้นจากการเชื่อมต่อเทมเพลตกับฐานข้อมูล และสุดท้ายในขั้นตอนที่ 8 สุดท้าย คุณสามารถเลือกได้ว่าจะทำอย่างไรกับเอกสารที่ได้รับ คุณสามารถบันทึก พิมพ์ หรือส่งทางอีเมล ในกรณีนี้ คุณสามารถบันทึกเอกสารทั้งหมดเป็นไฟล์เดียว หรือแยกแต่ละเอกสารแยกกันได้

ใน MS Word กระบวนการผสานจะสิ้นสุดด้วยการคลิกปุ่มค้นหาและผสาน



จากเมนูแบบเลื่อนลงจะเห็นได้ชัดว่าสามารถพิมพ์และส่งจดหมายทั้งหมดทางอีเมลได้ แต่ไม่ชัดเจนว่าจดหมายทั้งหมดสามารถบันทึกลงในไฟล์ได้ หากต้องการบันทึกคุณต้องเลือกรายการแรก - "เปลี่ยนเอกสารแต่ละรายการ" ซึ่งจะเป็นการเปิดเอกสารใหม่ ซึ่งตัวอักษรใหม่แต่ละตัวจะอยู่ในหน้าใหม่และไฟล์นี้สามารถบันทึกได้ที่นี่

บทสรุป

ในบทเรียนนี้ คุณได้เรียนรู้วิธีใช้เครื่องมือผสานเพื่อสร้างเอกสารตามเทมเพลต มาเขียนลำดับการกระทำโดยย่อ:

  1. จำเป็นต้องสร้างฐานข้อมูลในตัวประมวลผลตารางซึ่งข้อมูลจะถูกนำไปใช้ในการกรอกข้อมูลในฟิลด์
  2. คุณต้องสร้างเทมเพลตจดหมาย
  3. ดำเนินการผสานและบันทึกผลลัพธ์