FileSystem.FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32) FileSystem.FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32) FileSystem.FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32) Method


ファイルを開いて入出力を行います。Opens a file for input or output. My 機能を使用すると、FileOpen よりもファイル I/O 処理の生産性とパフォーマンスが向上します。The My feature gives you better productivity and performance in file I/O operations than FileOpen. 詳細については、「FileSystem」を参照してください。For more information, see FileSystem.

public static void FileOpen (int FileNumber, string FileName, Microsoft.VisualBasic.OpenMode Mode, Microsoft.VisualBasic.OpenAccess Access = Microsoft.VisualBasic.OpenAccess.Default, Microsoft.VisualBasic.OpenShare Share = Microsoft.VisualBasic.OpenShare.Default, int RecordLength = -1);
static member FileOpen : int * string * Microsoft.VisualBasic.OpenMode * Microsoft.VisualBasic.OpenAccess * Microsoft.VisualBasic.OpenShare * int -> unit
Public Sub FileOpen (FileNumber As Integer, FileName As String, Mode As OpenMode, Optional Access As OpenAccess = Microsoft.VisualBasic.OpenAccess.Default, Optional Share As OpenShare = Microsoft.VisualBasic.OpenShare.Default, Optional RecordLength As Integer = -1)


Int32 Int32 Int32

必須です。Required. 任意の有効なファイル数。Any valid file number. FreeFile 関数を使用して、次に使用できるファイル番号を取得します。Use the FreeFile function to obtain the next available file number.

String String String

必須です。Required. ファイル名を指定する文字列式。ディレクトリまたはフォルダー、およびドライブを含めることができます。A string expression that specifies a file name - may include directory or folder, and drive.

OpenMode OpenMode OpenMode

必須です。Required. ファイル モード (AppendBinaryInputOutput、または Random) を指定する列挙体。Enumeration specifying the file mode: Append, Binary, Input, Output, or Random. 詳細については、「OpenMode」を参照してください。For more information, see OpenMode .

OpenAccess OpenAccess OpenAccess

任意。Optional. 開いているファイルで許可されている操作 (ReadWrite、または ReadWrite) を示す列挙体。Enumeration specifying the operations permitted on the open file: Read, Write, or ReadWrite. 既定値は ReadWrite です。Defaults to ReadWrite. 詳細については、「OpenAccess」を参照してください。For more information, see OpenAccess .

OpenShare OpenShare OpenShare

任意。Optional. 他のプロセスによって開かれたファイルで許可されていない操作 (SharedLock ReadLock Write、および Lock Read Write) を指定する列挙体。Enumeration specifying the operations not permitted on the open file by other processes: Shared, Lock Read, Lock Write, and Lock Read Write. 既定値は Lock Read Write です。Defaults to Lock Read Write. 詳細については、「OpenShare」を参照してください。For more information, see OpenShare .

Int32 Int32 Int32

任意。Optional. 32,767 以下の値 (バイト単位)。Number less than or equal to 32,767 (bytes). ランダム アクセス ファイルの場合は、レコード長を表します。For files opened for random access, this value is the record length. シーケンシャル ファイルの場合は、バッファー内の文字数を表します。For sequential files, this value is the number of characters buffered.


レコード長が、-1 ではない負の値です。Record length is negative (and not equal to -1).

FileName が既に開かれています。または FileName が無効です。FileName is already open, or FileName is invalid.

この例でのさまざまな使用、FileOpen入力と出力ファイルを有効にする関数。This example illustrates various uses of the FileOpen function to enable input and output to a file.

次のコードは、ファイルを開きますTestFileInputモード。The following code opens the file TestFile in Input mode.

FileOpen(1, "TESTFILE", OpenMode.Input)
' Close before reopening in another mode.

この例で、ファイルが開きますBinary操作のみを記述するためのモード。This example opens the file in Binary mode for writing operations only.

FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Write)
' Close before reopening in another mode.

次の例で、ファイルを開きますRandomモード。The following example opens the file in Random mode. ファイルには、構造体のレコードが含まれています。Personします。The file contains records of the structure Person.

Structure Person
    <VBFixedString(30)> Dim Name As String
    Dim ID As Integer
End Structure
Public Sub ExampleMethod()
    ' Count 30 for the string, plus 4 for the integer.
    FileOpen(1, "TESTFILE", OpenMode.Random, , , 34)
    ' Close before reopening in another mode.
End Sub

このコード例でファイルを開きOutputモード; 任意のプロセスはファイルに対する読み取りまたは書き込み。This code example opens the file in Output mode; any process can read or write to file.

FileOpen(1, "TESTFILE", OpenMode.Output, OpenAccess.Default, OpenShare.Shared)
' Close before reopening in another mode.

このコード例でファイルを開きBinary読み込み専用の他のプロセスがファイルを読み取ることはできません。This code example opens the file in Binary mode for reading; other processes cannot read file.

FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Read,


FileOpen関数は、旧バージョンとの互換性は提供されており、パフォーマンスに影響を与える可能性があります。The FileOpen function is provided for backward compatibility and may affect performance. 非レガシ アプリケーションの場合、My.Computer.FileSystemオブジェクトより優れたパフォーマンスを提供します。For non-legacy applications, the My.Computer.FileSystem object provides better performance. 詳細については、次を参照してください。 Visual basic におけるファイル アクセスします。For more information, see File Access with Visual Basic.

すべての I/O 操作を実行する前に、は、ファイルを開く必要があります。You must open a file before any I/O operation can be performed on it. FileOpen ファイル I/O のバッファーを割り当てし、バッファーへのアクセス モードを決定します。FileOpen allocates a buffer for I/O to the file and determines the mode of access to use with the buffer.


ファイルに書き込む場合、アプリケーションを作成しようとするファイルが存在しない場合、ファイルを作成する必要があります。When writing to a file, an application may have to create a file, if the file to which it is trying to write does not exist. これを行うには、ファイルが作成されるディレクトリのアクセス許可が必要です。To do so, it needs permission for the directory in which the file is to be created. ただし、によってファイルが指定されている場合FileName存在は、アプリケーションのニーズWriteファイル自体にのみアクセスを許可します。However, if the file specified by FileName does exist, the application needs Write permission only to the file itself. セキュリティを強化する、可能なが展開および付与中にファイルを作成する任意の場所Writeアクセス許可をディレクトリ全体の代わりにのみ、します。Wherever possible, to help improve security, create the file during deployment and grant Write permission to that file only, instead of to the whole directory. セキュリティを強化するには、ルート ディレクトリまたは Program Files ディレクトリの代わりに、ユーザーのディレクトリにデータを書き込みます。To help improve security, write data to user directories instead of to the root directory or the Program Files directory.

使用して、チャネルを開くにはあります、FreeFile()関数。The channel to open can be found by using the FreeFile() function.


FileOpen関数に必要なReadからへのアクセス、FileIOPermissionAccess列挙体は、部分的な信頼された状況では、その実行に影響を与える可能性があります。The FileOpen function requires Read access from the FileIOPermissionAccess enumeration, which may affect its execution in partial trust situations. 詳細については、次を参照してください。FileIOPermissionAccess列挙体。For more information, see FileIOPermissionAccess enumeration.