推 resc:謝謝大大的提示 我會再試試看 謝謝 06/23 10:31
我的做法是這樣...
Dim Str_Key As String = " "←可以代任何東西
If Mid(Str_Temp, Str_Temp.Length, 1) <> Str_Key Then Str_Temp += Str_Key
'沒有這行的話,它會在最後一筆出現錯誤
While Str_Temp <> Nothing
Dim Position As Integer = InStr(Str_Temp, Str_Key)
Dim Str_Result As String = Mid(Str_Temp, 1, Position - 1)
Str_Temp = Mid(Str_Temp, Position + 1, Str_Temp.Length - (Position))
Print Str_Result
End While
※ 引述《resc (>.<)》之銘言:
: 請問一下各位大大
: 如果我用開檔案的方式去抓字串
: 抓出來的字串要轉成Intrger或是Double
: (比較想用Double來寫,因為有的數值小數點後有10位數)
: 然後字串中一共有四個數值 0.160771704 0 2.8 6.0
: ^^^^^^^^^^^ ^ ^^^ ^^^
: 1 2 3 4 <--數值的順序
: 每個數值間都有一個空白鍵的存在
: 我想用a、b、c、d分別代表字串轉成數值後的四個數值
: 我該怎麼寫成程式碼呢?
: 我的程式碼如下:
: Private Sub MacroWorkshop()
: Dim tempstr As String
: Dim numStr As String
: Dim str As String
: Dim pp As String
: Dim ii As Integer
: Dim anum As Double
: Dim bnum As Double
: Open "E:\\test\\testfile.txt" For Input As #1 <---開檔的路徑
: While Not EOF(1)
: Line Input #1, tempstr
: str = tempstr
: Debug.Print str
: For ii = 1 To 3 <----迴圈要讀數值的 前三個數值可在這顯示
: pp = InStr(str, " ")
: numStr = Trim(Left(str, pp)) <--刪除空白
: Debug.Print numStr
: 'anum = Val(numStr) <----這行是想將字串轉成數值
: 'Debug.Print anum
: str = Trim(Right(str, Len(str) - pp))
: Next
: Debug.Print str <-----顯示第四個數值
: 'bnum = Val(str)
: Wend
: Close
: End Sub
: 如果我的字串有很多個(100個以上)
: 然後要將跑過迴圈後的字串轉換成數值再指定到a、b、c、d上
: 跑過後的字串要刪除掉
: 然後繼續讀下個字串一直到將字串讀完為止
: 請問一下我該怎麼寫呢?
: 可以麻煩會的大大回答我一下嗎?
: 拜託各位了
: 謝謝
--
◣◥ ◤◢ ◣▁◢ 請‧尊‧重‧生‧命
◤ ◢◤ ‧‧▏ ◥ ◤ 以 認 養 代 替 購 買
◤◢ ▄▄▄▄ ‧‧
◢◤ 請領養我 ▄ ▄ 以 絕 育 代 替 撲 殺
◤◢ 請領養我▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
ψQSWEET
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.40.148.28