• ベストアンサー

FileOpenについて

Visual Basic 2005 Express Edtinoで開発したプログラムを他のPCに移植(.NET FRAMEWORK 2.0,作成したEXEをコピー)し実行したところFileOpenでエラーが発生します。 定義は下記です。 Dim fileno As Integer fileno = FreeFile() Dim fname As String fname = "c:\a\" & "\a.dat" FileOpen(fileno, fname, OpenMode.Output) PrintLine(fileno, "DATA") 環境はWindowsXP PC管理者でログインし.NET FRAMEWORK 2.0のインストールと作成したEXEをコピー "c:\a\"のフォルダーを作成。 何が原因なのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

>実行したところFileOpenでエラーが発生します。 どんなエラーメッセージがでるんでしょうか FileClose してないとか(他でファイルを掴んでいるとか)かな 2005だ、.NETだというなら、FileOpen 使わない方がいいのでは、 マイクロソフトもそう言ってますけど・ http://msdn2.microsoft.com/ja-jp/library/afh37kh8.aspx

その他の回答 (2)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

> fname = "c:\a\" & "\a.dat" --> c:\a\\a.dat パスセパレータが2重になってる気がするけど、 これは?

obone
質問者

補足

すみません。 質問の書き込み時に間違えました。 "c:\a" & "\a.dat" になっています。

  • Hardking
  • ベストアンサー率45% (73/160)
回答No.1

とりあえず 'ファイルオープン Open Trim(fname) For Output As #fileno '書込み Print #fileno, "DATA" 'ファイルクローズ Close #fileno にコーディング内容を変えたらどうでしょうか

obone
質問者

補足

VB2005 は.net対応なので VB6までのopen文は Microsoft.VisualBasic.FileSystem.FileOpen 関数 になったのでは? open文を使うと下記メッセージが出て意味がわかりません。 "Openは宣言されていません。ファイルの出入力(I/O)機能は'Microsoft.VisualBasic'名前空間で使用できます。"

関連するQ&A