CSVファイルの配列に、単語間に空白があり、空白をすべてハイフンに置き換えた後に移入しようとしている配列に移入しようとしています。単語vbaテキスト間の置換
したがって、array1の内容はこの "Hi there"のようになり、array2の内容はこの "Hi-there"のようになります。
私はreplace(text、old、new)を使用しようとしましたが、問題を抱えています。他のサブシステムを持たないスタンドアロンマクロでは動作します。他のサブルーチンがある場合、それは投げ、しないとエラーと言って、「引数の数が間違っまたは無効なプロパティの割り当て」
これは私が持っているコードです:
Private Sub import_csv()
Dim file_name As String
Dim fnum As Integer
Dim whole_file As String
Dim lines As Variant
Dim one_line As Variant
Dim num_rows As Long
Dim num_cols As Long
Dim the_array() As String
Dim imported_array() As String
Dim txt As String
Dim R As Long
Dim C As Long
file_name = "test.csv"
'load the file
fnum = FreeFile
Open file_name For Input As fnum
whole_file = Input$(LOF(fnum), #fnum)
Close fnum
'Break the file into lines
lines = Split(whole_file, vbCrLf)
'Dimension the array
num_rows = UBound(lines)
one_line = Split(lines(0), ",")
num_cols = UBound(one_line)
ReDim the_array(num_rows, num_cols)
ReDim imported_array(num_rows, num_cols)
'Copy the data into the arrays
For R = 0 To num_rows
If Len(lines(R)) > 0 Then
one_line = Split(lines(R), ",")
For C = 0 To num_cols
imported_array(R, C) = one_line(C)
txt = one_line(C)
txt = replace(txt, " ", "-") '<----- problem line
the_array(R, C) = txt
Next C
End If
Next R
End Sub
"replace"という名前の関数を定義しましたか? VBAにその名前のメソッドが既にあります。 –
私は問題が何かを発見したと思います。私はVBA.Replaceを使ってみました。だから私は参照を通過したが見つかりませんでした:/ –