C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 72 を表示中)
■42122 / )  ファイルにアクセス出来ない
□投稿者/ どん (1回)-(2009/10/08(Thu) 11:33:34)

分類:[VB.NET/VB2005 以降] 

初めまして。早速ですが、一つ質問させていただきます。

VB2005で開発を行っています。
今回開発しているシステムは、DENSOのハンディターミナルを使用したシステムで、

1、指定フォルダ内に「LIST.txt」というテキストファイルが存在している場合は削除する。
2、ボタンをクリックするとハンディターミナルが起動する。
3、ハンディターミナルで読み込んだデータをテキストファイルに出力して、
  指定したフォルダ内に転送する。
4、転送されたファイルのデータをAccessのテーブルにインポートする。

という処理を行います。

ですが、次のようにコードを書くとエラーが発生してしまいます。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles btn1.Click

OleCnn = New OleDb.OleDbConnection()
OleCnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; " _
& "Data Source=(Access名が入ります)"
OleCnn.Open()

If System.IO.File.Exists("D:\SYSTEM\LIST.txt") = True Then

System.IO.File.Delete("D:\SYSTEM\LIST.txt")

End If

If MessageBox.Show("取込を開始します。よろしいですか?", "取込確認", MessageBoxButtons.YesNo, _
MessageBoxIcon.Question) = DialogResult.No Then

Exit Sub

End If

'取込アプリケーションの起動
Dim Myshell

Myshell = Shell("D:\SYSTEM\IT3CW32.EXE" & " " & "+P1 +R +E +V" & " " & "D:\SYSTEM\LIST.txt", _
AppWinStyle.NormalFocus)

Do Until System.IO.File.Exists("D:\SYSTEM\LIST.txt")

Loop

'StreamReader生成
Dim Sr1 As New IO.StreamReader("D:\SYSTEM\LIST.txt")

この部分
「Dim Sr1 As New IO.StreamReader("D:\SYSTEM\LIST.txt")」
でエラーが発生します。

エラー内容は
「別のプロセスで使用されているため、プロセスはファイル 'D:\SYSTEM\LIST.txt' にアクセスできません。」
という内容です。

どのようにしたらよろしいでしょうか?
返信 編集キー/


管理者用

- Child Tree -