Open Statement

একটি ডাটা চ্যানেল খোলা হয়।

সিনট্যাক্স:

Open FileName As String [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength]

প্যারামিটার:

FileName: ফাইলের নাম এবং পাথ যা আপনি খুলতে চান। বিদ্যমান নয় একটি ফাইল পড়তে চাইলে (Access = Read), একটি ত্রুটি বার্তা দেখা যাবে। যদি আপনি বিদ্যমান নয় এমন একটি ফাইলে লিখতে চান (Access = Write) তাহলে একটি নতুন ফাইল তৈরি হবে।

মোড: ফাইল মোড উল্লখকারী কীওয়ার্ড। বৈধ মান: পিশেষে যোগ (ক্রমানুসার ফাইলের পরিশেষে যোগ), বাইনারি (Get এবং Put ব্যবহার করে বাইট অনুসারে ডাটা প্রয়োগ করা যায়), ইনপুট (পাঠ করার জন্য ডাটা চ্যানেল খোলা হয়), আউটপুট (লেখার জন্য ডাটা চ্যানেল খোলা হয়) এবং র‍্যান্ডম (সংশ্লিষ্ট ফাইল সম্পাদনা)।

IOমোড: কীওয়ার্ড যা তথ্য নিবেশনের ধরন নির্ধারণ করে। কার্যকর মান: পড়া (শুধুমাত্র পাঠযোগ্য), লেখা (শুধুমাত্র লিখনযোগ্য), লেখা-পড়া (উভয়ই)।

সুরক্ষিত: কীওয়ার্ড যা একটি ফাইল খোলার পরে তার নিরাপত্তা অবস্থা নির্ধারণ করে থাকে। কার্যকর মান: শেয়ারকৃত (সম্ভবত ফাইলটি অন্য অ্যাপ্লিকেশনের মাধ্যমে খোলা হতে পারে), আবদ্ধ পাঠ (ফাইলটি পড়া হতে সুরক্ষিত), আবদ্ধ লেখা (ফাইল লেখা হতে সুরক্ষিত), আবদ্ধ লেখা-পড়া (ফাইলের সন্নিবেশ প্রত্যাখ্যান করে)।

FileNumber: একটি মুক্ত ডাটা চ্যানেলের সংখ্যা নির্দেশ করতে 0 থেকে 511 এর মধ্যে যেকোনো পূর্ণসংখ্যা এক্সপ্রেশন। ফাইলে সন্নিবেশ করতে আপনি ডাটা চ্যানেলের মাধ্যমে কমান্ড পাস করতে পারেন। ফাইল সংখ্যা তাৎক্ষনিকভাবে FreeFile ফাংশনের মাধ্যমে ওপেন স্টেটমেন্টের পূর্বে অবশ্যই নির্ধারণ করতে হবে।

DatasetLength: র‍্যান্ডম এক্সেস ফাইলের জন্য রেকর্ডের দৈর্ঘ্য নির্ধারণ করা হবে।

নোট আইকন

আপনি শুধুমাত্র একটি ওপেন স্টেটমেন্টের মাধ্যমে খোলা ফাইলের বিষয়বস্তু পরিবর্তন করতে পারবেন। যদি আপনি ইতোমধ্যেই খোলা একটি ফাইল খোলার চেষ্টা করেন, তাহলে একটি ত্রুটি বার্তা দেকাবে।


উদাহরণ:

Sub ExampleWorkWithAFile

Dim iNumber As Integer

Dim sLine As String

Dim aFile As String

Dim sMsg As String

    aFile = "c:\data.txt"

    iNumber = Freefile

    Open aFile For Output As #iNumber

    Print #iNumber, "This is a line of text"

    Print #iNumber, "This is another line of text"

    Close #iNumber

    iNumber = Freefile

    Open aFile For Input As iNumber

    While Not eof(iNumber)

        Line Input #iNumber, sLine

        If sLine <>"" Then

            sMsg = sMsg & sLine & chr(13)

        End If

    Wend

    Close #iNumber

    MsgBox sMsg

End Sub