Board logo

標題: [發問] 文字換行方式CrLf轉Lf(可用vba轉換嗎?)公司用的 [打印本頁]

作者: PKKO    時間: 2013-8-22 16:21     標題: 文字換行方式CrLf轉Lf(可用vba轉換嗎?)公司用的

我用excel程式寫了一個自動化的程式
但excel是用Cr+Lf的語言方式換行
導致我公司的測試軟體會讀取錯誤

我用EmEditor開啟之後才發現
原本的程式都是Lf的換行
我寫的程式卻都是Cr+Lf的語言方式換行

我在網路上查到Vba因該可以寫出換行的方法
有大大可以教導一下嗎?

我會基本的vba,因為是公司要用的
若是手動寫程式實在很久,自動化程式快多了,但目前遇到換行的困難,再麻煩各位大大了!
作者: oobird    時間: 2013-8-22 19:34

可用Chr(10)替代vbCrLf
作者: PKKO    時間: 2013-8-23 13:58

回復 3# sunnyso
這是我同事說他寫的vba
他用在他的程式內已經可以直接變成Lf的換行方式
可是...我看不懂
有人可以解釋一下嗎?
    Sub Macro1()
'
' Macro1 巨集表
'

        Set filesys = CreateObject("Scripting.FileSystemObject")
   
        
            Set DebugFile1 = filesys.OpenTextFile(tplpath & "\" & folist & "\" & xxx, 2)
         
                DebugFile1.write themats(t) & Chr(10)

Set filesys = Nothing
'
End Sub
作者: PKKO    時間: 2013-8-23 14:22

回復 2# oobird


    用法該如何使用呢~?
作者: kimbal    時間: 2013-8-25 15:27

回復 4# PKKO


    & Chr(10) = & LF
作者: PKKO    時間: 2013-8-26 15:50

感謝各位大大已經寫出來可以用LF換行了
但是...要如何寫在B1的位置阿?
我寫完的程式會變成A1:A193都有值
但原本的SHEET1是A1:G7都有值
其他是A8:A193
要如何寫才能寫在B1阿?

Sub Macro1()
'

'

  Set filesys = CreateObject("Scripting.FileSystemObject")
   
   Set a = filesys.createTextFile("C:\Documents and Settings\bobchiou\桌面" & "\ah504_8_2.tpl", True)

    rec = 1

    OO = ThisWorkbook.Sheets("Sheet1").Range("J3")

    Do While I <= OO


    AB = ThisWorkbook.Sheets("Sheet1").Cells(rec, 1).Value

      rec = rec + 1
      I = rec
      a.write AB & Chr(10)
                  
    Loop
   
   
        a.Close
'
End Sub
作者: PKKO    時間: 2013-8-27 13:16

已得知解決方式
AB = ThisWorkbook.Sheets("Sheet1").Cells(rec, 1).Value

CD = ThisWorkbook.Sheets("Sheet1").Cells(rec, 2).Value


a.write AB & Chr(9) & CD & Chr(10)




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)