プロが教える店舗&オフィスのセキュリティ対策術

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\"のフォルダーを作成。

何が原因なのでしょうか。

A 回答 (3件)

>実行したところFileOpenでエラーが発生します。


どんなエラーメッセージがでるんでしょうか

FileClose してないとか(他でファイルを掴んでいるとか)かな

2005だ、.NETだというなら、FileOpen 使わない方がいいのでは、
マイクロソフトもそう言ってますけど・
http://msdn2.microsoft.com/ja-jp/library/afh37kh …
    • good
    • 0

> fname = "c:\a\" & "\a.dat"



--> c:\a\\a.dat

パスセパレータが2重になってる気がするけど、
これは?

この回答への補足

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

補足日時:2006/08/04 11:27
    • good
    • 0

とりあえず


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

この回答への補足

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

補足日時:2006/08/04 10:59
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!