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