[プログラム・ファイルと同じフォルダに、任意の名前の、フォルダまたはファイルが存在するか参照し、無ければ、(テキストファイルの場合は空のファイルを)作成する]


VisualBasic2008Express(VB.NET)で上記のような動作をするSubをコーディングしていただけませんか。

回答の条件
  • 1人2回まで
  • 登録:2010/01/11 00:19:12
  • 終了:2010/01/18 00:20:03

ベストアンサー

id:rsc96074 No.2

rsc回答回数4359ベストアンサー獲得回数3982010/01/11 09:21:21

ポイント35pt

 下記URLを参考にして作ってみました。フォームにボタンを1つだけ設置して下記コードでとりあえず動くようです。

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim fileName As String = InputBox("ファイル名を入力してください。")

        CreateNullFile(fileName)
    End Sub

    Private Sub CreateNullFile(ByVal fName As String)
        If System.IO.File.Exists(fName) = True Then
            MessageBox.Show("'" + fName + "'は存在します。")
        ElseIf System.IO.Directory.Exists(fName) = True Then
            MessageBox.Show("'" + fName + "'は存在します。")
        Else
            ' 戻り値を格納する変数を宣言する。改良!Nothingで初期化してみた。
            Dim hStream As System.IO.FileStream = Nothing
            ' hStream が破棄されることを保証するために Try ~ Finally を使用する
            Try
                ' hStream が閉じられることを保証するために Try ~ Finally を使用する
                Try
                    ' 指定したパスのファイルを作成する
                    hStream = System.IO.File.Create(fName)
                Finally
                    ' 作成時に返される FileStream を利用して閉じる
                    If Not hStream Is Nothing Then
                        hStream.Close()
                    End If
                End Try
            Finally
                ' hStream を破棄する
                If Not hStream Is Nothing Then
                    Dim cDisposable As System.IDisposable = hStream
                    cDisposable.Dispose()
                End If
            End Try

            MessageBox.Show("'" + fName + "'を作成しました。")
        End If
    End Sub
End Class

※参考URL

●ファイル、ディレクトリが存在するか調べる: .NET Tips: C#, VB.NET ...

http://dobon.net/vb/dotnet/file/fileexists.html

●VB.NET - ファイルを作成する

http://jeanne.wankuma.com/tips/vb.net/file/create.html

その他の回答(1件)

id:rsc96074 No.2

rsc回答回数4359ベストアンサー獲得回数3982010/01/11 09:21:21ここでベストアンサー

ポイント35pt

 下記URLを参考にして作ってみました。フォームにボタンを1つだけ設置して下記コードでとりあえず動くようです。

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim fileName As String = InputBox("ファイル名を入力してください。")

        CreateNullFile(fileName)
    End Sub

    Private Sub CreateNullFile(ByVal fName As String)
        If System.IO.File.Exists(fName) = True Then
            MessageBox.Show("'" + fName + "'は存在します。")
        ElseIf System.IO.Directory.Exists(fName) = True Then
            MessageBox.Show("'" + fName + "'は存在します。")
        Else
            ' 戻り値を格納する変数を宣言する。改良!Nothingで初期化してみた。
            Dim hStream As System.IO.FileStream = Nothing
            ' hStream が破棄されることを保証するために Try ~ Finally を使用する
            Try
                ' hStream が閉じられることを保証するために Try ~ Finally を使用する
                Try
                    ' 指定したパスのファイルを作成する
                    hStream = System.IO.File.Create(fName)
                Finally
                    ' 作成時に返される FileStream を利用して閉じる
                    If Not hStream Is Nothing Then
                        hStream.Close()
                    End If
                End Try
            Finally
                ' hStream を破棄する
                If Not hStream Is Nothing Then
                    Dim cDisposable As System.IDisposable = hStream
                    cDisposable.Dispose()
                End If
            End Try

            MessageBox.Show("'" + fName + "'を作成しました。")
        End If
    End Sub
End Class

※参考URL

●ファイル、ディレクトリが存在するか調べる: .NET Tips: C#, VB.NET ...

http://dobon.net/vb/dotnet/file/fileexists.html

●VB.NET - ファイルを作成する

http://jeanne.wankuma.com/tips/vb.net/file/create.html

  • id:jjkkjpvb2008
    自己コメントです。
    以前、「自動終了による質問はやめてもらいたい」という要望をいただきました。そのように設定したいのですが、どうすればよいのかわかりません。教えていただけませんか。
  • id:Yoshiya
    http://hatenaquestion.g.hatena.ne.jp/keyword/%E8%B3%AA%E5%95%8F%E3%81%99%E3%82%8B#question
    「人力検索はてなのヘルプ」

    上記のヘルプの中にある「6.「人力検索」タイプの質問を終了する」をお読み下さい。
  • id:jjkkjpvb2008
    ありがとうございます。

    ようするに、デフォルトの「1週間で終了」が起こる前に、自分でクローズしろということですね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません