snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Sub cardconfig()
Call exportProject
End Sub
Function exportProject()
'Dim fso As Object'
Dim MyOutput As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyOutput = fso.CreateTextFile("d:\testMacro\cardconfig.txt", True, True) 'Unicode=True'
MyOutput.WriteLine ("{")
MyOutput.WriteLine (ChrW(34) & "Graph" & ChrW(34) & ":[")
For Y = 2 To 5
MyOutput.WriteLine ("{")
For X = 1 To 5
keyValue = Cells(Y, X)
If X = 1 Then
MyOutput.WriteLine (ChrW(34) & "ID" & ChrW(34) & ":" & keyValue & ",")
ElseIf X = 2 Then
MyOutput.WriteLine (ChrW(34) & "No" & ChrW(34) & ":" & keyValue & ",")
ElseIf X = 3 Then
MyOutput.WriteLine (ChrW(34) & "Money" & ChrW(34) & ":" & keyValue & ",")
ElseIf X = 4 Then
MyOutput.WriteLine (ChrW(34) & "Name" & ChrW(34) & ":" & ChrW(34) & keyValue & ChrW(34) & ",")
ElseIf X = 5 Then
MyOutput.WriteLine (ChrW(34) & "Other" & ChrW(34) & ":" & ChrW(34) & keyValue & ChrW(34))
End If
Next X
If Y = 5 Then
MyOutput.WriteLine ("}")
Else
MyOutput.WriteLine ("},")
End If
Next Y
MyOutput.WriteLine ("]}")
MyOutput.Close
End Function
Attachments
ตารางใน excel
test.PNG (5.29 KiB) Viewed 99 times
ไฟล์ที่ ได้มาจากรัน macro เป็น txt
macrotest.PNG (11.82 KiB) Viewed 99 times
Last edited by kamen2010 on Fri Oct 03, 2014 2:18 pm, edited 3 times in total.
Sub exportProject()
Dim MyOutput As Object
Dim valField As Variant
valField = Split("ID;No;Money;Name;Other", ";")
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyOutput = fso.CreateTextFile("d:\testMacro\test.txt", True, True) 'Unicode=True'
MyOutput.writeline ("{")
MyOutput.writeline (ChrW(34) & "Graph" & ChrW(34) & ":[")
For Y = 2 To 5
MyOutput.writeline ("{")
For X = 1 To 5
keyvalue = Cells(Y, X)
If keyvalue <> "" Then
MyOutput.writeline (ChrW(34) & valField(X - 1) & ChrW(34) & ":" & keyvalue & ",")
End If
Next X
If Y = 5 Then
MyOutput.writeline ("}")
Else
MyOutput.writeline ("},")
End If
Next Y
MyOutput.writeline ("]}")
MyOutput.Close
End Sub