พอดีผมต้องเขียนโปรแกรมออกรีพอทจาก File .dbf ที่ถูกสร้างขึ้นจาก DOS แต่ผมลอง Link Table ไปที่ .dbf file ปรากกว่า ไม่สามารถอ่านค่าภาษาไทยได้ ผมเลยลอง Save .dbf เป็น .xls แล้วลอง Link ใหม่ปรากฏว่าอ่านได้นะครับ
แต่ประเด็นคือถ้าให้ User มาทำเองคงไม่สะดวกเพราะ Program ใช้กันหลายคน และผมไม่ต้องการให้ User ไปยุ่งกับไฟล์ใน Server เพราะ File เยอะมากเลยลองเขียน Script แปลงค่าดูดังนี้ครับ
Private Sub Command0_Click()
On Error GoTo Err_Command0_Click
Dim fn As String
Dim newfn As String
fn = "C:\Users\User\Desktop\XJ\New folder\tx5025A.dbf"
Set xlq = CreateObject("excel.application")
Set xl = xlq.workbooks.Open(fn)
newfn = Replace(fn, ".dbf", ".xls")
xl.saveas filename:=newfn, FileFormat:=xlnormal
xl.Close savechanges:=False
xlq.Quit
Set xl = Nothing
Set xlq = Nothing
Exit_Command0_Click:
Exit Sub
Err_Command0_Click:
MsgBox Err.Description
Resume Exit_Command0_Click
End Sub
แต่พอลองใช้ไม่สามารถแปลงได้นะครับ มันขึ้นเตือนแบบนี้ครับ
"SaveAs Method of Workbook class failed"
ทำอย่างไรดีครับ


- กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ดครับ
- การสมัครสมาชิกเพื่อโพสต์คำถาม ดาวน์โหลดไฟล์แนบไปศึกษา ทำตามขั้นตอนด้านล่างครับ
- สมัครสมาชิก ดูขั้นตอนตาม Link นี้ครับ => สมัครสมาชิก กรณีลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่นี่ครับ => Reset รหัสผ่าน
- Login เข้าระบบโดยคลิก Login ตรงมุมขวาบนของหน้านี้
กรณีมีปัญหาในการเข้าใช้งาน คลิก Link นี้เพื่อแจ้งผู้ดูแลระบบครับ => ติดต่อผู้ดูแลระบบ
- สมัครสมาชิก ดูขั้นตอนตาม Link นี้ครับ => สมัครสมาชิก กรณีลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่นี่ครับ => Reset รหัสผ่าน
- เมื่อ Login แล้วสามารถกำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษได้ที่ Link นี้ครับ => ตั้งค่าส่วนตัว
- วิธีการตั้งและตอบกระทู้ดูได้ที่ Link นี้ครับ => วิธีการตั้งและตอบกระทู้
- การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ Link นี้ครับ => จัดรูปแบบตัวอักษร และสามารถกำหนดขนาดตัวอักษรใน Browser ได้ที่นี่ครับ => กำหนดขนาดตัวอักษรใน Browser
หา Code แปลง .dbf เป็น .xls
Forum rules
- ไม่อนุญาตให้ใช้ภาษาแชทในการถาม-ตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
- ห้ามถามโดยระบุชื่อผู้ตอบ ต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
- อธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
- ควรแนบตัวอย่างไฟล์มาที่ฟอรั่มนี้เพื่อเพิ่มความสะดวกในการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่น นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
- สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน ควรโพสต์ Code ให้แสดงเป็น Code เพื่อสะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
- แจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
- snasui
- Site Admin
- Posts: 23141
- Joined: Sun Jan 24, 2010 12:33 pm
- Location: Songkhla, Thailand
- Contact:
Re: หา Code แปลง .dbf เป็น .xls

สำหรับ Code ควรวางให้แสดงเป็น Code เพื่อจะได้ง่ายต่อการอ่านและคัดลอกไปทดสอบ อ่านกฎการใช้บอร์ดข้อ 5 ด้านบนประกอบครับ

snasui (คนควน)
MBA in Accounting, MVP-Excel (2010-2017), MOS
Index, Match, Small, Sumif, Countif, Frequency, Sumproduct, Mmult, Lookup, Vlookup, Indirect, Conditional Formatting, Isnumber, Search, PivotTable, Array, Data Validation

