人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excelでテキストファイルをはきだすマクロを作りました。
記述内容だけ記しても原因はわからないかもしれませんが、相談させてください。
実行すると、nが512までは上手くいくのですが、513以降が「エラー52」が出てダメです。何が問題でしょうか?

※汚い記述でごめんなさい。ド素人です。
※コメントも活用ください。





Sub test()

Worksheets("sheet").Select
Range("A1").Select

Dim 最終行 As Integer
Dim n As Integer
Dim m As Integer
パス = Worksheets("窓口").Range("B12").Value
最終行 = Worksheets("sheet").Range("B3").Value
m = Worksheets("sheet").Range("D2").Value

For n = 1 To m

ファイル名 = Worksheets("sheet").Range("B4").Value

Worksheets("sheet").Range("B2").Value = n

Dim File_OUT As String
File_OUT = "C:\Documents and Settings\TM\" & ファイル名
Open File_OUT For Output As #n
For i = 2 To 最終行
Print #n, Trim(Range("A" & i).Value)
Next
Close #n

Next

End Sub

●質問者: yoshifuku
●カテゴリ:コンピュータ
✍キーワード:A1 AS b2 B4 D2
○ 状態 :キャンセル
└ 回答数 : 1/5件

▽最新の回答へ

1 ● pahoo

ファイル番号に n を適用する理由が見あたりません。

逐次クローズしているので、下記のように、#n の代わりに #1 を指定すればよいと思います。

Open File_OUT For Output As #1
For i = 2 To 最終行
Print #1, Trim(Range("A" & i).Value)
Next
Close #1

ちなみに、Excel VBA で指定できるファイル番号の範囲は 1?511 で、1?255のファイル番号を割り当てると、そのファイルは他のアプリケーションからアクセスできません。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ