設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開始

12下一頁
返回列表 發(fā)新帖
查看: 4699|回復(fù): 16
打印 上一主題 下一主題

[模塊/函數(shù)] 請(qǐng)哪位大俠分析一下這樣的文本文件轉(zhuǎn)換問題。

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2010-12-22 18:17:02 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我寫了一個(gè)轉(zhuǎn)換的代碼,轉(zhuǎn)換附件中的文本文件,但運(yùn)行到REPLACE時(shí)出現(xiàn):運(yùn)行時(shí)錯(cuò)誤‘5’,無效的過程調(diào)用或參數(shù)。我是一次性轉(zhuǎn)換很多個(gè)這樣的文件,其他都可以,就是這一個(gè)很麻煩,是不是這個(gè)文本文件中出現(xiàn)特殊字符?
代碼:
    Dim b As String
    Dim x As String
    Open Me![text1] For Input As #1 '源文件
    Open Me![text1] & ".txt" For Append As #2
    Do Until EOF(1)
      Line Input #1, b '逐行讀入源文件
          x = Replace(b, Chr(10) & "", Chr(13) & Chr(10))
         Print #2, x
     Loop
    Close #1
    Close #2
    MsgBox "文件轉(zhuǎn)換完畢。!"

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號(hào)?注冊(cè)

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享分享 分享淘帖 訂閱訂閱
2#
發(fā)表于 2010-12-22 18:38:19 | 只看該作者
fyupeng 發(fā)表于 2010-12-22 18:17
我寫了一個(gè)轉(zhuǎn)換的代碼,轉(zhuǎn)換附件中的文本文件,但運(yùn)行到REPLACE時(shí)出現(xiàn):運(yùn)行時(shí)錯(cuò)誤‘5’,無效的過程調(diào)用或 ...

附件對(duì)嗎?
3#
 樓主| 發(fā)表于 2010-12-22 18:43:54 | 只看該作者
附件對(duì)的,就是要把回車轉(zhuǎn)換成換行加回車,文本就整齊了
4#
發(fā)表于 2010-12-22 18:51:51 | 只看該作者
本帖最后由 todaynew 于 2010-12-22 18:52 編輯
fyupeng 發(fā)表于 2010-12-22 18:43
附件對(duì)的,就是要把回車轉(zhuǎn)換成換行加回車,文本就整齊了


不會(huì)吧?我找不到Me![text1]這個(gè)控件,幫我看看它在哪里呢?。呵呵
5#
 樓主| 發(fā)表于 2010-12-22 19:01:56 | 只看該作者
本帖最后由 fyupeng 于 2010-12-22 19:03 編輯

這是我在窗體上的文本框【text1】,輸入文本文件的路徑,再加個(gè)命令按鈕的Private Sub Command0_Click()
太急了,沒寫清楚,版主見諒
代碼可以改成
    Open “D:\往來賬.txt” For Input As #1 '源文件
    Open  "D:\往來賬.txt.txt" For Append As #2

6#
 樓主| 發(fā)表于 2010-12-22 19:15:32 | 只看該作者
正在研究todaynew版主的Word閱讀器,呵呵。我有想過把文本文件后綴改為.doc,然后調(diào)用word,再saveas "D:\往來賬.txt.txt" ,3。當(dāng)然這樣麻煩多了。但幾十個(gè)文件轉(zhuǎn)換都可以,就這個(gè)文件是刺頭。
7#
 樓主| 發(fā)表于 2010-12-22 19:37:36 | 只看該作者
todaynew 發(fā)表于 2010-12-22 18:51
不會(huì)吧?我找不到Me![text1]這個(gè)控件,幫我看看它在哪里呢?。呵呵

這個(gè)是可以轉(zhuǎn)換和已經(jīng)轉(zhuǎn)換好的文本文件。

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號(hào)?注冊(cè)

x
8#
發(fā)表于 2010-12-22 20:26:22 | 只看該作者
fyupeng 發(fā)表于 2010-12-22 19:37
這個(gè)是可以轉(zhuǎn)換和已經(jīng)轉(zhuǎn)換好的文本文件。

一定要用VBA來導(dǎo)入導(dǎo)出么?我覺得Excel也很不錯(cuò)啊。處理一份大概也就幾十秒到一分鐘的事情吧。嫌麻煩的話還可以錄制一個(gè)宏來處理的噢,詳見附件。復(fù)制粘貼后,再點(diǎn)擊工具\(yùn)宏\執(zhí)行就好了。

當(dāng)然,比起VBA來,自然沒那么厲害,不可能一次處理幾十份。但如果執(zhí)行宏的話,也相當(dāng)給力了:打開\復(fù)制文本\粘貼\執(zhí)行宏,然后再復(fù)制粘貼到文本上,一份轉(zhuǎn)換完應(yīng)該也就十幾秒吧?

現(xiàn)在可以公布下偶的做法了,有興趣的話,可以試著做做:

1、全選復(fù)制文本,粘貼到Excel的A1單元格,選中A列,點(diǎn)擊數(shù)據(jù)\分列,選擇:固定寬度,注意把箭頭放好,然后選中所有列,在右上角中改為文本(默認(rèn)為常規(guī)),點(diǎn)擊下一步執(zhí)行。分列至此結(jié)束。
2、接下來就簡單多了,全選工作表,復(fù)制,新建一個(gè)txt文件,粘貼,收工。

順便說下,執(zhí)行宏時(shí),當(dāng)前工作表應(yīng)該是sheet1,也就是說,如果不激活sheet1將會(huì)出錯(cuò)。

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號(hào)?注冊(cè)

x
9#
 樓主| 發(fā)表于 2010-12-22 20:29:51 | 只看該作者
本帖最后由 fyupeng 于 2010-12-22 20:31 編輯

一定要用VBA來導(dǎo)入導(dǎo)出。因?yàn)檗D(zhuǎn)換只是第一步,我下面還要把文本文件每條記錄導(dǎo)入數(shù)據(jù)庫,進(jìn)行統(tǒng)計(jì)分析的,每月幾萬條,execl不行的。幾十個(gè)文件都可以用VBA,就這一個(gè),暈死。

點(diǎn)擊這里給我發(fā)消息

10#
發(fā)表于 2010-12-22 20:46:33 | 只看該作者
因?yàn)槲谋疚募杏腥瘴淖址?strong>ゼ ,在ACCESS中很多函數(shù)對(duì)日文字符都有問題,如 debug.Print "ゼ123" Like "1" 這樣也出錯(cuò)。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機(jī)版|Office中國/Access中國 ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2024-10-23 06:16 , Processed in 0.096685 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表