Page 1 of 1
ส่งข้อมูลจาก Excel ไปยัง Notepad
Posted: Sun Sep 29, 2024 3:39 pm
by Wreuangsri
แบบทับไฟล์เก่า และแบบต่อจากไฟล์เก่า พร้อมกับแนบไฟล์มาด้วย ครับ
ในแผ่นงาน Sheet1 ผมต้อการส่งข้อมูลจาก Excel ไปยัง Notepad แบบทับไฟล์เก่า หรือแบบต่อจากไฟล์เก่า
แบบเดียวกับในแผ่นงาน myLogSheet ต้องเขียน VB Code อย่างไรครับ
Re: ส่งข้อมูลจาก Excel ไปยัง Notepad
Posted: Mon Sep 30, 2024 6:26 am
by snasui
ตัวอย่าง Code ครับ
Code: Select all
Private Sub CommandButton1_Click()
Dim filename As String, lineText As String
Dim my_range As Range
filename = "C:\Users\Wanchai\Desktop\new file.txt"
If VBA.Dir(filename) = "" Then
Set fso = VBA.CreateObject("Scripting.FileSystemObject")
Set oFile = fso.CreateTextFile(logPath)
'oFile.WriteLine ("") 'clear the file
oFile.Close
Else
'if file exists delete it
If Sheet2.ckbxReplace.Value = True Then VBA.Kill filename
End If
Open filename For Output As #1
Set my_range = Worksheets("Sheet1").Range("A2:Z21")
For i = 2 To 20 'แถว
For j = 1 To 26 'คอลัมน์
lineText = IIf(j = 1, "", lineText) & my_range.Cells(i, j)
Next j
Print #1, lineText
Next i
Close #1
MsgBox ("เสร็จแล้ว")
On Error Resume Next
Shell ("C:\Windows\system32\notepad.exe" & " " & filename), vbNormalFocus
End Sub
Re: ส่งข้อมูลจาก Excel ไปยัง Notepad
Posted: Mon Sep 30, 2024 8:32 am
by Wreuangsri
ยังไม่เป็นผลตามที่ต้องการครับ เมื่อติ๊กเครื่องหมายถูกออกยังไม่ต่อจากไฟล์เดิมครับ
Re: ส่งข้อมูลจาก Excel ไปยัง Notepad
Posted: Mon Sep 30, 2024 9:28 am
by snasui
ตัวอย่าง Code ครับ
Code: Select all
Private Sub CommandButton1_Click()
Dim filename As String, lineText As String
Dim my_range As Range
filename = "C:\Users\Wanchai\Desktop\new file.txt"
' Set fso = VBA.CreateObject("Scripting.FileSystemObject")
If Sheet2.ckbxReplace.Value = True Then
Open filename For Output As #1
Else
Open filename For Append As #1
End If
Set my_range = Worksheets("Sheet1").Range("A2:Z21")
For i = 2 To 20 'แถว
For j = 1 To 26 'คอลัมน์
lineText = IIf(j = 1, "", lineText) & my_range.Cells(i, j)
Next j
Print #1, lineText
Next i
Close #1
MsgBox ("เสร็จแล้ว")
On Error Resume Next
Shell ("C:\Windows\system32\notepad.exe" & " " & filename), vbNormalFocus
End Sub
Re: ส่งข้อมูลจาก Excel ไปยัง Notepad
Posted: Mon Sep 30, 2024 9:50 am
by Wreuangsri
เรียบร้อยแล้วครับ ขอบคุณมากครับ