แสดงราคาทอง ใน Excel Sheet ผ่านทาง
ราคาทองมีแสดงตามเว็บต่าง ๆ หลายเว็บ แต่ถ้าจะเอาราคาทองมาแสดง ใน Excel ผ่าน Google Sheets มีอุปสรรคหลายอย่างเหมือนกัน
ผมไปเอาราคาทองจาก metalpriceapi.com โดยไปขอ key มาก่อน เป็น key ที่ให้ฟรี ซึ่งเว็บส่วนใหญ่เขาคิดตังกันทั้งนั้นเมื่อได้ key มาแล้ว ก็ทำ Apps Script เขียนฟังก์ชันให้แสดงราคาได้ เรียบร้อย
ปัญหาคือ เวลาเอามาแสดงบน Excel ผ่านทาง Power query บางทีไม่แสดง เกิด #N/A
ที่เป็นเช่นนี้ เพราะ Apps Script ส่งฟังก์ชันมาให้ Power query ซึ่ง Excel ไม่รู้จักฟังก์ชันที่ Apps Script ส่งมา ก็เลยไม่รู้จัก
ทางแก้คือ แทนที่จะให้ส่งมาเป็นสูตร ก็ให้ส่งมา เป็นค่าตัวเลขแทน
ตัวอย่าง Apps Script
function writeGoldPriceToCell() {
const apiKey = 'KEY จาก metalpriceapi.com';
const url = `https://api.metalpriceapi.com/v1/latest?api_key=${apiKey}&base=USD¤cies=XAU`;
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); // ✅ Define sheet first
let goldPriceUSD;
const priceCell = sheet.getRange(77, 2); // ตำแหน่งที่จะให้แสดงราคา บน Google Sheet
try {
const response = UrlFetchApp.fetch(url);
const data = JSON.parse(response.getContentText());
if (data && data.rates && data.rates.USDXAU) {
goldPriceUSD = Math.round(data.rates.USDXAU * 100) / 100;
} else {
goldPriceUSD = "Gold price not found";
}
} catch (error) {
goldPriceUSD = `Error: ${error.message}`;
}
priceCell.setValue(goldPriceUSD);
}
ความคิดเห็น
แสดงความคิดเห็น