大家好~
我在Excel宏里面,運行下面編碼的時候會有run time error "54" bad file mode
Sub Outputfile
Dim num As Double
Dim row As Integer
Dim col As Integer
row = 1
Open "Output.txt" For Input As #2
Print #2, num
Cells(row, 1) = num
Input #2, num
Cells(row, 2) = num
Input #2, num
Cells(row, 3) = num
row = row + 1
Close #2
MsgBox "Finished Writing"
End Sub
下面是我之前寫的從txt讀取資料到excel表哥,并把行列互換的編碼,(col到row,row到col),可以運行并正常作業,大家可以用來參考一下。
下面是excel里面已經轉換好的資料,需要用之前那個VBA輸出到Output.txt
2.9 1.5 7.6 6.5 2.6
-2.1 1.2 -6.5 9.12 5.4
-10.4 12 13.5 -8.6 0.23
uj5u.com熱心網友回復:
Sub Outputfile()
Dim arr, ss
Open "D:\Output.txt" For Append As #2
arr = Range("A1:E3")
For i = 1 To 3
ss = ""
For j = 1 To 5
ss = ss & arr(i, j) & " "
Next j
Print #2, ss
Next i
Close #2
MsgBox "Finished Writing"
End Sub
uj5u.com熱心網友回復:
Open "Output.txt" For Input As #2改成 for output 吧!
都提示你“錯誤的檔案模式”了,還不知道如何改呀。
Input模式是用來“讀檔案”(輸入)的,不是用來“寫檔案”(輸出)的。
uj5u.com熱心網友回復:
謝啦~這個可用。可我有兩個小問題,i 和j代表的是行列,ss 和 arr代表的是什么呢?
我是VB的初學者,所以有很多不懂的。
uj5u.com熱心網友回復:
arr是二維陣列,arr = Range("A1:E3")就是把單元格[A1:E3]賦值給陣列arr;
ss,就是一個臨時變數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/134034.html
標籤:VBA
