Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9647 / 13644 ツリー ←次へ | 前へ→

【26132】テキストファイルの処理 GG 05/6/24(金) 11:28 質問[未読]
【26134】Re:テキストファイルの処理 りん 05/6/24(金) 12:04 回答[未読]
【26138】Re:テキストファイルの処理 GG 05/6/24(金) 13:29 質問[未読]
【26145】Re:テキストファイルの処理 りん 05/6/24(金) 15:08 発言[未読]
【26149】Re:テキストファイルの処理 Kein 05/6/24(金) 15:47 発言[未読]
【26224】Re:テキストファイルの処理 GG 05/6/28(火) 14:43 お礼[未読]
【26135】Re:テキストファイルの処理 m2m10 05/6/24(金) 12:11 回答[未読]

【26132】テキストファイルの処理
質問  GG  - 05/6/24(金) 11:28 -

引用なし
パスワード
   openステートメントで
あるテキストファイルに書き込む時に
そのあるテキストファイルが
     すでにメモ帳やテキストエディタで開かれてたときエラーが起きます
エラートラップかけて
一度とじてリトライしたいのですが
その方法わかるかた 教えてください宜しくお願いします

【26134】Re:テキストファイルの処理
回答  りん E-MAIL  - 05/6/24(金) 12:04 -

引用なし
パスワード
   ▼GG さん:
>openステートメントで
>あるテキストファイルに書き込む時に
>そのあるテキストファイルが
>     すでにメモ帳やテキストエディタで開かれてたときエラーが起きます
>エラートラップかけて
>一度とじてリトライしたいのですが

エラートラップをかけ、メッセージボックスをクリックすると再開します。
他のエラーが出たときは、無視して次に進みます。
Sub test()
  On Error GoTo ErrSub
  Open "d:\Log.txt" For Append As #2
   Print #2, Now '現在時刻を追加書き込み
  Close #2
Exit Sub
'
ErrSub:
  If Err.Number = 70 Then
   MsgBox "ファイルを閉じてください", vbExclamation, "続行"
   Resume 0 '開きなおし
  Else
   MsgBox Error(Err.Number), vbExclamation, "その他のエラー"
   Resume Next 'とりあえずエラー行を無視して次に進む
  End If
Return
End Sub

こんな感じです。
が、メモ帳で開いた状態でOutputまたはAppendしてもエラーになりませんでした(なぜ?)。
というわけで、メモ帳等で開いている場合のエラー番号と、今回トラップした番号が一致しない可能性があるので、番号と内容をチェック(ヘルプ:トラップできるエラー)してみてください。

【26135】Re:テキストファイルの処理
回答  m2m10  - 05/6/24(金) 12:11 -

引用なし
パスワード
   NoEditor のエディタで開いても、エラーに成りません

 こちらのエディタを勧めます。

【26138】Re:テキストファイルの処理
質問  GG  - 05/6/24(金) 13:29 -

引用なし
パスワード
   ▼りん さん:
有難うございました
VBAでファイルをとじる方法を教えてください

【26145】Re:テキストファイルの処理
発言  りん E-MAIL  - 05/6/24(金) 15:08 -

引用なし
パスワード
   GG さん、こんにちわ。

>VBAでファイルをとじる方法を教えてください
メモ帳とかのエディタ(エクセル以外のプログラム)を閉じるということでしょうか?
APIでウィンドウハンドルを取得して閉じたらいいとは思いますが、お勧めできません。
エクセルで開いてしまっている場合は、Workbook(なんとか.txt).Closeです。

【26149】Re:テキストファイルの処理
発言  Kein  - 05/6/24(金) 15:47 -

引用なし
パスワード
   いちおう・・
>APIでウィンドウハンドルを取得して閉じたら
のサンプルは↓にあります。
http://homepage1.nifty.com/MADIA/vb/API/AppWinExit.htm
なお、メモ帳のクラス名は Notepad です。

【26224】Re:テキストファイルの処理
お礼  GG  - 05/6/28(火) 14:43 -

引用なし
パスワード
   御礼遅くなりました
有難うございました
APIで挑戦します
これからも宜しくお願いします

9647 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free