เพียงปิดคำถามนี้:
วิธีแก้ไขปัญหานี้ถูกแก้ไขโดยการเขียนสองสคริปต์: อันดับแรกคือสคริปต์ vba ที่เขียนด้วย excel และบันทึกลงในเอกสาร xlsm ไฟล์ที่สองคือไฟล์. bat ซึ่งจะเรียกใช้เอกสาร xlsm ที่กล่าวถึงก่อนหน้านี้เพื่อทริกเกอร์สคริปต์ vba ซึ่งท้ายที่สุดจะแปลงเอกสาร html เป็น xlsx
ข้อที่ 1: ใน Excel มีสองสิ่งที่ต้องสร้างรหัส VBA ที่จะบันทึกเอกสาร html เป็นเอกสาร xlsx (ลองเรียกสิ่งนี้ว่า A) ขั้นตอนที่สองคือการสร้างรหัส VBA ที่จะเรียกใช้รหัสที่กล่าวถึงก่อนหน้านี้โดยอัตโนมัติ [กำหนดให้บันทึก htlm เป็นไฟล์ excel แล้วปิด] (ลองเรียก B นี้)
รหัสสำหรับ A คือ
Sub Open_HTML_Save_XLSX()
Workbooks.Open Filename:="**NameOfHTMLfileHere.HTML"
ActiveWorkbook.SaveAs Filename:= _
"**NewName.XLSX", FileFormat:= _
xlOpenXMLWorkbook
ActiveWorkbook.Close
End Sub
คุณจะสังเกตได้ว่ารหัสนั้นง่ายมาก เพื่อสรุปรหัสพูดให้เปิดเอกสาร html บันทึกเป็นเอกสาร xlsx ปิดสมุดงาน รหัสสำหรับ A ไปที่ส่วนของโมดูล
สำหรับส่วน B คุณจะต้องบันทึกสคริปต์ VBA อื่นภายในส่วน 'ThisWorkbook' ของโฟลเดอร์ Microsoft Excel Objects สำหรับเอกสาร xlsm
Private Sub Workbook_Open()
Call Open_HTML_Save_XLSX
Application.Quit
End Sub
อีกครั้งไม่ซับซ้อน สคริปต์เพิ่งบอกว่าเมื่อคุณเปิดสมุดงานนี้เรียกใช้สคริปต์ VBA ที่จะทำการแปลงไฟล์แล้วออกจาก excel
ดังนั้นเมื่อเอกสาร XLSM ถูกตั้งค่าสิ่งเดียวที่ต้องทำคือเขียนสคริปต์แบทช์เพื่อเปิดเอกสาร XLSM ซึ่งจะทำงานทั้งหมด
ชุดง่ายมาก:
echo on
start excel "vbatest.xlsm"
เปิดแบทช์เปิดเอกสาร xlsm การเปิดเอกสาร Xlsm จะทำให้รหัส VBA ทำงาน จากนั้นรหัส VBA จะเปิดเอกสาร html ที่ต้องการและบันทึกเป็น xlsx จากนั้นปิด Excel ไฟล์แบตช์จะรันในหลักสูตรและตรงตามวัตถุประสงค์ของคุณแล้ว
นั่นคือทั้งหมดที่คนขอบคุณสำหรับปลาทั้งหมด