• 締切済み

ExcelのVBA で実行エラー5

ExcelのVBA で実行時エラー5のプロシージャの呼び出し、または引数が不正です。 と出るのですが、何が悪いのでしょうか? 引っかかる部分は下のコードの「tf.Writeline (Wl)」のところです。 'On Error GoTo ErrorHandler tf.Writeline (Wl) On Error GoTo 0 Wl = "" C = C + 1 End If 回答よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

ExcelのVBA となっているが、FSOの質問でもあります。 全般にエラーの原因解明の質問として説明不足です。 うまく動く下記例をWEBで見つけたので実行してみました。うまく動きます(参考)。 パターン的にはおかしいところはないと思います。 残るは「(Wl)」の変数の子の瞬間の中身です。 簡便なのは、tf.Writeline (Wl)の行の前に Msgbox WI を直前行に入れて実行して、変数WIに何(文字列)が入っているか見てください。 (正しくは、VBAのデバッグ・トレース法に従ってやってください) また C=C+1という行が見えますが、WIの値を決定する(Cを使った)エクセルVBAのコード行があるはずです。それぐらい書かないと原因がわからない。 読者に、手がかりを与えなさすぎる。 ーー FSOのWriteLineを使った例 Sub CreateFile() Dim fso, tf Set fso = CreateObject("Scripting.FileSystemObject") Set tf = fso.CreateTextFile("C:\Users\XXX\Documents\テスト用.txt", True) '改行文字を付けて 1 行書き込みます。 tf.WriteLine ("1、2、3 をテストしています。") ' ファイルに改行文字を 3 つ書き込みます。 tf.WriteBlankLines (3) '1 行書き込みます。 tf.Write ("これはテストです。") tf.Close End Sub 例を挙げます。

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.1

こんにちは 情報が少ないですね。 試しに tf.Writeline (Wl) を tf.Writeline Wl にしてみるとか。

関連するQ&A