0
我拼命想創建一個宏,這將讓我做到以下幾點:找到比數據的情況下更多的文本文件
- 選擇文本文件(不同的一個每次)
- 看數據並識別關鍵短語,如第一個實例「_ _Z_1 _:_」
- 然後這句話
- 寫到Excel
- 然後找出關鍵短語的下一個實例如下提取數據 個
- 提取數據
- 寫入到Excel
任何幫助非常讚賞。
我真的不知道該怎麼做。我的代碼如下:
Private Sub CommandButton1_Click()
Dim myFile As String, text As String, textline As String, Day As String, Zno As String, NetSales As String, Cash As String, Card As String, HotDrinks As String, ColdDrinks As String, Sweets As String, Crisps As String, VAT As String, NextZ As String
myFile = Application.GetOpenFilename()
Dim bffr As String, p As Long
bffr = (myFile)
p = InStr(p + 1, bffr, "_ _Z_1_:_", vbTextCompare)
Do While CBool(p)
'_ _Z_1_:_ was found; process it based upon the starting position p
'see if there are other occurrences of _ _Z_1_:_
p = InStr(p + 1, bffr, "_ _Z_1_:_", vbTextCompare)
Loop
Open myFile For Input As #1
Do Until EOF(1)
Line Input #1, textline
text = text & textline
Loop
Close #1
Day = InStr(text, "Welcome Bite")
Zno = InStr(text, "_ _Z_1_:_")
NetSales = InStr(text, "NET sales ")
Cash = InStr(text, "CASH in ")
Card = InStr(text, "CREDIT in")
HotDrinks = InStr(text, "HOT DRINKS ")
ColdDrinks = InStr(text, "COLD DRINKS ")
Sweets = InStr(text, "Sweets ")
Crisps = InStr(text, "Crisps ")
VAT = InStr(text, "** Fixed Totaliser Period 1 Totals Reset")
NextZ = InStr(text, "_ _Z_1_:_")
Range("A1").Value = Mid(text, Day + 19, 18)
Range("A2").Value = Mid(text, Zno + 10, 8)
Range("A3").Value = Mid(text, NetSales + 30, 7)
Range("A4").Value = Mid(text, Cash + 30, 7)
Range("A5").Value = Mid(text, Card + 30, 7)
Range("A6").Value = Mid(text, HotDrinks + 30, 7)
Range("A7").Value = Mid(text, ColdDrinks + 30, 7)
Range("A8").Value = Mid(text, Sweets + 30, 7)
Range("A9").Value = Mid(text, Crisps + 30, 7)
Range("A10").Value = Mid(text, VAT - 9, 7)
Range("B2").Value = Mid(text, p + 1, 8)
End Sub
謝謝!我會去的! – 2015-04-02 10:01:19