
Add-in แบบกำหนดเองเป็นเครื่องมือที่มีประสิทธิภาพในการขยายฟังก์ชันการทำงานของ Excel คุณสามารถสร้าง Add-in ของคุณเพื่อทำให้งานที่ซ้ำกันโดยอัตโนมัติ สร้างฟังก์ชันแบบกำหนดเอง หรือมอบเครื่องมือเฉพาะให้กับผู้ใช้ ในบทความนี้ เราจะสร้าง Add-in แบบกำหนดเองสำหรับฟังก์ชันที่ได้รับการปรับปรุง
บทช่วยสอนนี้จะแนะนำคุณตลอดการสร้าง Add-in ของ Excel แบบกำหนดเองโดยใช้ JavaScript และเฟรมเวิร์ก Add-ins ของ Office โดยใช้ ExchangeRates API เราจะสร้างส่วนเสริมตัวแปลงสกุลเงิน
ขั้นตอนที่ 1. ตั้งค่าสภาพแวดล้อมการพัฒนาของคุณ
ติดตั้งและดาวน์โหลดข้อกำหนดเบื้องต้น:
- ติดตั้ง Node.js :
- ดาวน์โหลดและติดตั้ง Node.js
- ติดตั้งโค้ด VS :
- ดาวน์โหลดและติดตั้งโค้ด Visual Studio
- ติดตั้ง Office Add-in CLI :
- เปิด PowerShell หรือเทอร์มินัลแล้วเรียกใช้:
npm install -g yo generator-office

- ติดตั้ง Excel :
- ตรวจสอบให้แน่ใจว่าคุณมี Excel 2016 หรือใหม่กว่า (แนะนำ Office 365)
- เรากำลังใช้ MS Office 365
ขั้นตอนที่ 2:สร้างโปรเจ็กต์ Add-in ใหม่
- เปิด PowerShell หรือ พร้อมรับคำสั่ง และ เรียกใช้ในฐานะผู้ดูแลระบบ .
- เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างโครงการ Office Add-in ของคุณ:
- คำสั่งนี้จะแจ้งให้ดำเนินการต่อหรือออก
- เลือก ดำเนินการต่อ เพื่อดำเนินการตั้งค่าโครงการ Office Add-in ของคุณต่อไป
- ใช้ปุ่มลูกศรเพื่อเลือกดำเนินการต่อ และกด Enter .
- ถัดไป ระบบจะถามคำถามเกี่ยวกับประเภทของ Add-in ที่คุณต้องการสร้าง
- เลือกประเภทโครงการ:
- เลือก ส่วนเสริมของบานหน้าต่างงาน (ใช้ปุ่มลูกศรแล้วกด Enter)
- เลือกประเภทสคริปต์:
- เลือก จาวาสคริปต์ หรือ TypeScript ตามความต้องการของคุณ
- คุณต้องการตั้งชื่อ Add-in ของคุณว่าอะไร
- พิมพ์ชื่อโครงการของคุณ (เช่น CustomAddin)
- คุณต้องการสนับสนุนแอปพลิเคชันไคลเอ็นต์ Office ใด
- เลือก Excel .
- เลือกประเภทโครงการ:

- รอให้ตัวสร้างดำเนินการให้เสร็จสิ้น เครื่องกำเนิดไฟฟ้าจะตั้งค่าโฟลเดอร์โครงการพร้อมไฟล์ที่จำเป็นทั้งหมด โครงการจะประกอบด้วยไฟล์ต่อไปนี้:
- taskpane.html :UI ของบานหน้าต่างงาน
- taskpane.js :มีโค้ด JavaScript สำหรับบานหน้าต่างงานของคุณ
- manifest.xml :อธิบาย Add-in ของคุณใน Office
ขั้นตอนที่ 3:เปิดโครงการใน Visual Studio Code
หลังจากตั้งค่าเสร็จแล้ว คุณสามารถเปิดโฟลเดอร์โปรเจ็กต์ได้โดยใช้เทอร์มินัล หรือคุณสามารถเปิดโดยตรงในโค้ด VS ขณะสร้างโปรเจ็กต์ Yeoman จะสร้างโฟลเดอร์ในไดเร็กทอรีปัจจุบันที่คุณรันคำสั่ง yo office โฟลเดอร์นี้จะมีชื่อของโครงการ Add-in ที่คุณระบุไว้ก่อนหน้านี้ (เช่น CustomAddin)
นำทางไปยังโฟลเดอร์โครงการใน Terminal: ป>
- ใน PowerShell หรือ Command Prompt ของคุณ ให้ใช้คำสั่ง cd (เปลี่ยนไดเรกทอรี) เพื่อย้ายไปยังโฟลเดอร์โครงการ
- แทรกคำสั่งต่อไปนี้เพื่อย้ายไปยังโฟลเดอร์โครงการ
เปิดโฟลเดอร์ในโค้ด Visual Studio: ป>
- เมื่อคุณอยู่ในโฟลเดอร์โปรเจ็กต์แล้ว คุณสามารถเปิดใน Visual Studio Code ได้โดยตรงจากเทอร์มินัล
- เรียกใช้คำสั่งต่อไปนี้เพื่อเปิดโฟลเดอร์ใน VS Code:

- ซึ่งจะเปิดโครงการทั้งหมดใน Visual Studio Code

คุณสามารถเปิดโฟลเดอร์โครงการได้โดยตรงใน Visual Studio: ป>
- เปิด ตัวสำรวจไฟล์ (Windows) หรือ Finder (Mac) แล้วไปที่โฟลเดอร์ที่ Yeoman สร้างโปรเจ็กต์ Add-in ของคุณ
- คลิกขวา โฟลเดอร์โครงการ (เช่น CustomAddin)>> เลือก เปิดด้วยโค้ด หากคุณมี รหัส Visual Studio ติดตั้งแล้ว
- หรืออีกทางหนึ่ง คุณสามารถเปิด Visual Studio Code ได้โดยไปที่ ไฟล์ แท็บ>> เลือก เปิดโฟลเดอร์ และเลือกโฟลเดอร์โครงการของคุณ
ขั้นตอนที่ 3 การสร้างตัวแปลงสกุลเงินแบบเรียลไทม์
เมื่อโปรเจ็กต์เปิดใน VS Code คุณสามารถเริ่มแก้ไขและสร้าง Add-in ของคุณได้:
ติดตั้งการอ้างอิง: ป>
หากคุณยังไม่ได้ติดตั้งการขึ้นต่อกันที่จำเป็น (เช่น Office.js) ให้เปิดเทอร์มินัลใน VS Code แล้วรันคำสั่งต่อไปนี้
อัปเดต Taskpane.html และ Taskpane.js ใน VS Code
ตอนนี้คุณสามารถแก้ไขไฟล์ HTML, JavaScript และ CSS ในโฟลเดอร์ src/ เพื่อกำหนดการทำงานและรูปลักษณ์ของ Add-in ได้
มาแก้ไข Taskpane.html เพื่อออกแบบอินเทอร์เฟซผู้ใช้ของ Add-in ของคุณ และอัปเดต Taskpane.js เพื่อเพิ่มการโต้ตอบ (เช่น ฟังก์ชันที่โต้ตอบกับ Excel)
แก้ไข Taskpane.html: ป>
เปิด Taskpane.html และแทนที่เนื้อหาที่มีอยู่ด้วยเนื้อหาต่อไปนี้:
<!DOCTYPE html>
<html>
<head>
<title>Currency Converter</title>
<script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>
<script src="./taskpane.js"></script>
</head>
<body>
<h2>Currency Converter</h2>
<label for="fromCurrency">From:</label>
<input id="fromCurrency" type="text" placeholder="e.g., USD" />
<br>
<label for="toCurrency">To:</label>
<input id="toCurrency" type="text" placeholder="e.g., EUR" />
<br>
<button id="convertButton">Convert</button>
<p id="status"></p>
</body>
</html> คำอธิบาย: ป>
- ส่วน:
:ตั้งชื่อเพจเป็น “ตัวแปลงสกุลเงิน” - :
- รวม office.js สำหรับการรวม Office Add-in
- ลิงก์ Taskpane.js สำหรับฟังก์ชันการทำงานของ JavaScript แบบกำหนดเอง
- ส่วน:
- :แสดงหัวข้อ “ตัวแปลงสกุลเงิน”
- <ฉลาก> และ :ช่องสำหรับการป้อนข้อมูลของผู้ใช้ (fromCurrency และ toCurrency)
- <ปุ่ม> :ทริกเกอร์การแปลงสกุลเงิน
:แสดงข้อความสถานะหรือข้อผิดพลาด
เค้าโครงนี้เป็นอินเทอร์เฟซผู้ใช้สำหรับ Add-in ของ Excel ของคุณ
การเพิ่มลอจิกใน Taskpane.js: ป>
เปิด Taskpane.js และแทนที่เนื้อหาที่มีอยู่ด้วยโค้ดนี้:
Office.onReady(() => {
document.getElementById('convertButton').addEventListener('click', convertCurrency);
});
async function convertCurrency() {
const fromCurrency = document.getElementById('fromCurrency').value.toUpperCase();
const toCurrency = document.getElementById('toCurrency').value.toUpperCase();
if (!fromCurrency || !toCurrency) {
document.getElementById('status').innerText = "Please enter valid currencies.";
return;
}
try {
const apiKey = "Your_Api_Key"; // Replace with your ExchangeRates API key
const url = `https://api.exchangerate-api.com/v4/latest/${fromCurrency}`;
const response = await fetch(url);
const data = await response.json();
const rate = data.rates[toCurrency];
if (!rate) {
document.getElementById('status').innerText = `Invalid conversion rate for ${toCurrency}.`;
return;
}
await Excel.run(async (context) => {
const range = context.workbook.getSelectedRange();
range.load("values");
await context.sync();
const convertedValues = range.values.map(row =>
row.map(cell => cell * rate)
);
range.values = convertedValues;
document.getElementById('status').innerText = `Converted to ${toCurrency} successfully.`;
await context.sync();
});
} catch (error) {
console.error(error);
document.getElementById('status').innerText = "Error fetching conversion rate.";
}
}
คำอธิบาย: ป>
- Office.onReady: เริ่มต้น Add-in เมื่อสภาพแวดล้อม Office พร้อม
- ฟังก์ชันแปลงสกุลเงิน:
- อ่านสกุลเงินที่ป้อน (จากสกุลเงินและถึงสกุลเงิน)
- ตรวจสอบอินพุตและดึงข้อมูลอัตราแลกเปลี่ยนผ่าน API
- ใช้ Excel.run เพื่อใช้การแปลงกับเซลล์ Excel ที่เลือก
- แสดงข้อความสำเร็จหรือข้อผิดพลาดในบานหน้าต่างงาน
- การจัดการข้อผิดพลาด: ตรวจจับและบันทึกข้อผิดพลาดรันไทม์ API หรือ Excel โดยให้ข้อเสนอแนะแก่ผู้ใช้
ขั้นตอนที่ 4. ทดสอบ Add-in ของคุณ
มาทดสอบ Add-in เพื่อดูว่ามันทำงานอย่างไรใน Excel
- หากคุณไม่ได้อยู่ในโฟลเดอร์โปรเจ็กต์ ให้นำทางไปยังโฟลเดอร์โปรเจ็กต์ของคุณในเทอร์มินัล:
- เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลโค้ด VS
- หากต้องการเริ่มเซิร์ฟเวอร์การพัฒนา ให้รันคำสั่งต่อไปนี้
- มันจะถามคำถาม:“? อนุญาต localhost loopback สำหรับ Microsoft Edge WebView หรือไม่?”
- ประเภท:ใช่

คำสั่งนี้จะเปิดไฟล์ Excel
- Excel จะเปิดขึ้น และ Add-in จะถูกโหลดโดยอัตโนมัติในบานหน้าต่างงาน
- เลือกช่วงของเซลล์ที่มีค่าในสกุลเงินต้นทาง
- เราเลือกเซลล์ A2:A10
- ในส่วน จาก กล่อง:ใส่ USD และ ถึง กล่อง:ใส่ EUR .
- คลิก แปลง .

ขั้นตอนที่ 5:ปรับใช้ Add-In
คุณสามารถปรับใช้กับ Office 365 หรือแชร์เพื่อใช้ภายในองค์กรของคุณ คุณสามารถทำได้โดยบรรจุ Add-in ลงในแพ็กเกจแล้วอัปโหลดไปยัง Office Store
ต่อไปนี้เป็นวิธีจัดแพคเกจ Add-in:
- ในเทอร์มินัล ให้รัน:
- สิ่งนี้จะสร้างเวอร์ชันที่ใช้งานจริงของ Add-in ของคุณ ซึ่งคุณสามารถโฮสต์บนเว็บเซิร์ฟเวอร์หรืออัปโหลดไปยังบริการคลาวด์เช่น Azure
ปัญหาและแนวทางแก้ไขการตั้งค่าสภาพแวดล้อมทั่วไป
- ข้อผิดพลาดนโยบายการดำเนินการสคริปต์ (ไม่สามารถโหลด npm.ps1)
- วิธีแก้ปัญหา: กำหนดนโยบายการดำเนินการโดยการรัน:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
- ไม่รู้จักคำสั่ง yo
- วิธีแก้ปัญหา: ตรวจสอบให้แน่ใจว่า Yeoman ได้รับการติดตั้งอย่างถูกต้องโดยเรียกใช้:
- ในการตรวจสอบการติดตั้ง:
- ปัญหาการอนุญาตเมื่อติดตั้งแพ็คเกจ
- วิธีแก้ปัญหา: เรียกใช้ PowerShell หรือ Command Prompt ในฐานะผู้ดูแลระบบ หรือใช้ –force ตั้งค่าสถานะระหว่างการติดตั้ง
บทสรุป
ด้วยการทำตามขั้นตอนข้างต้น คุณสามารถสร้าง Add-in ของตัวแปลงสกุลเงินใน Excel ได้ เราได้กล่าวถึงขั้นตอนโดยละเอียดเกี่ยวกับวิธีตั้งค่าสภาพแวดล้อมการพัฒนา สร้าง Add-in และใช้งานฟังก์ชันการทำงานด้วย JavaScript คุณสามารถขยายฟังก์ชัน Add-in นี้เพิ่มเติมได้โดยการเพิ่มคุณลักษณะขั้นสูงเพิ่มเติม
รับแบบฝึกหัด Excel ขั้นสูงพร้อมโซลูชันฟรี!