註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» 想請教如何從一個txt檔轉出成很多個excel檔
返回列表
下一主題
上一主題
發帖
[發問]
想請教如何從一個txt檔轉出成很多個excel檔
stillfish00
發短消息
加為好友
stillfish00
當前離線
UID
9276
帖子
1018
主題
15
精華
0
積分
1058
金錢
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
在線時間
1141 小時
註冊時間
2012-5-9
最後登錄
2022-9-28
大學生
帖子
1018
主題
15
精華
0
積分
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
註冊時間
2012-5-9
最後登錄
2022-9-28
1
#
跳轉到
»
發表於 2015-2-26 14:08
|
顯示全部帖子
本帖最後由 stillfish00 於 2015-2-26 14:12 編輯
回復
1#
flowrew
Sub Test()
Dim vFile, oFs, oTs, sAll As String
Dim oRegexp, oMatch
Dim i As Long, sSN As String, sModel As String, arHeader() As String, sName As String
vFile = Application.GetOpenFilename(FileFilter:="Text Files (*.txt),*.txt", Title:="選擇檔案")
If StrComp(TypeName(vFile), "Boolean", vbTextCompare) = 0 Then Exit Sub
Set oFs = CreateObject("Scripting.FileSystemObject")
Set oTs = oFs.openTextFile(vFile, 1)
sAll = oTs.ReadAll
sAll = Replace(sAll, vbCrLf, vbLf)
Set oRegexp = CreateObject("vbscript.regexp")
With oRegexp
.Pattern = "SN\s*:\s*(\S*)"
Set oMatch = .Execute(sAll)
If oMatch.Count > 0 Then sSN = oMatch(0).submatches(0)
.Pattern = "Model\s*:\s*(\S*)"
Set oMatch = .Execute(sAll)
If oMatch.Count > 0 Then sModel = oMatch(0).submatches(0)
'Data Header
.MultiLine = True
.Pattern = "^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s*$"
Set oMatch = .Execute(sAll)
If oMatch.Count > 0 Then arHeader = Split(.Replace(oMatch(0), "$1,$2,$3,$4"), ",")
'Data Value
.Global = True
.Pattern = "^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s*$"
Set oMatch = .Execute(sAll)
End With
sName = Left(vFile, Len(vFile) - 4)
For i = 0 To oMatch.Count - 1
With Workbooks.Add
With .Sheets(1)
.[B3].value = "SN"
.[C3].value = sSN
.[B4].value = "Model"
.[C4].value = sModel
.[B6].value = arHeader(0)
.[C6].value = oMatch(i).submatches(0)
.[B7].value = arHeader(1)
.[C7].value = oMatch(i).submatches(1)
.[B9].value = arHeader(2)
.[C9].value = oMatch(i).submatches(2)
.[C10].value = oMatch(i).submatches(3)
.[B11].value = arHeader(3)
.[C11].value = oMatch(i).submatches(4)
End With
.SaveAs sName & "_" & i + 1 & ".xlsx"
.Close
End With
Next
MsgBox "完成"
End Sub
複製代碼
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。
TOP
stillfish00
發短消息
加為好友
stillfish00
當前離線
UID
9276
帖子
1018
主題
15
精華
0
積分
1058
金錢
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
在線時間
1141 小時
註冊時間
2012-5-9
最後登錄
2022-9-28
大學生
帖子
1018
主題
15
精華
0
積分
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
註冊時間
2012-5-9
最後登錄
2022-9-28
2
#
發表於 2015-2-26 18:37
|
顯示全部帖子
回復
8#
flowrew
附檔吧,你是說有使用UserForm? 應該是要改成沒Select的寫法吧
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。
TOP
靜思自在 :
難行能行,難捨能捨,難為能為,才能昇華自我的人格。
返回列表
下一主題
上一主題
Excelㄧ般區
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 • 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲