ഡ ൌസ നിാണം “ോസ് പ ാ് േഫാമി ലഭമായ ഏവം ലളിതമായ േ!ാ"ാമിഗ് ഭാഷയാണ് വിഷ% േബസി'് . പലവിധ പരിമിതിക ഈ ഭാഷ'് ഉെ./ിലം ഇതിെ ലാളിതം എട3പറേയ. ഒ6ാണ് . മഭാഷകേള'ാ വിഷ%
േബസി'് പഠി8േ9ാഴ; <ണം ഓഫീസ് പാേ'?കളെട ഫംങ് ഷണാലിി വAിBി86 മാേCാ െ!ാ"ാമിഗിD Eടി വിAാFികെള ഇGസHമാ8I എ6താണ് .”
ആവLിM് ഉപേയാഗി'ാവ6 േ!ാ"ാമിN് േകാഡകളാണ് ഫങ് ഷDകളായി എഴതാറ് . വിഷ% േബസി'ിനകL് ധാരാളം ഫങ് ഷDക ലഭമാണ് , ഇവെയ ബി് -ഇQ ഫങ് ഷDക എ6ാണ് വിളി'ാറ് . എ6ാ വിോസിെല മി' അഡ% ാQസ് ഡ് ഫങ് ഷDകളേടയ ം വാസസSലം ൈഡനാമിക് ലി/് ഡ് ൈലറി എ6റിയെBട6 ഫയലകളിലാണ് . ഇLരLി െപU ഒV ലി/് ഡ് ൈലറിയാണ് SHELL32.DLL. ഇതില; SHGetPathFromIDListA, SHBrowseForFolderA എ6ീ
ഫങ് ഷDകളെട സഹായേLാെട എNിെന ഒV ഡിൈവസ് /േഫാഡ െസലക് ട[ൌസ] േബാക t ് ഫങ് ഷQ ഉ.ാ'ാം എI േനാ'ാം. ആദമായി ഡി.എ.എ ഫയലില; ഈ ഫംങ് ഷDക ഡിക യ െചേw.തായിU.് . ഇതിനായി േകാഡ് വിോ Gറ6് ജനറ വിഭാഗLി താെഴ പറയ 6 േകാഡ് േച8ക. Private Declare Function SHBrowseForFolder Lib "SHELL32.DLL" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long 'ITEMIDLIST Private Declare Function SHGetPathFromIDList Lib "SHELL32.DLL" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long ഇതി ആദേLത് കം9 Uറി കണക ് ് ഉ.ാ'ി െചയ് തിരി86 ഡിൈവസകളെട ഒV ലിസ തVI, ര.ാമേLതാവെU േഫാഡറ കളേടയ ം സബ് േഫാഡറ കളേടയ ം പാL് [Path] േസവ് െചwI.
ഇനി ൌസ് േഫാഡ ഫങ് ഷQ ഉ.ാ86തിനായി ഒV യസ ഡിൈഫQഡ് ഡാൈടBEടി ഉ.ാേ'.G.് . ഇGം േകാഡ് വിോവിെല ജനറ ഭാഗ3േവണം െചwാQ. Private Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type
ഇനി ഫങ് ഷQ ഉ.ാ'ി GടNാം Tools->Add Procedure ഓപ് ഷQ ഉപെയാഗിMെകാ.് ‘BrowseFolder’ Function ഉ.ാ'ാം, െ!ാസീഡ ൈടB് ‘Function’ ആയി
െസ് െചwാQ !േതകം Aി8ക.GടIകിU6 േകാഡിേല'്
hWnd As Long, szDialogTitle As String ആഗെമ്
ിേല'് േച8ക, റിേUൈടB് String ആയ ം െസ് ലിസ െചwണം.
ഇനി BrowseFolder ഫങ് ഷെ േശഷി86 േകാഡEടി േച'ാവ6താണ് . On Local Error Resume Next Dim X As Long, BI As BROWSEINFO, dwIList As Long, szPath As String, wPos As Integer BI.hOwner = hwnd BI.lpszTitle = szDialogTitle
BI.ulFlags = BIF_RETURNONLYFSDIRS dwIList = SHBrowseForFolder(BI) szPath = Space$(512) X = SHGetPathFromIDList(ByVal dwIList, ByVal szPath) If X Then wPos = InStr(szPath, Chr(0)) BrowseFolder = Trim(Left$(szPath, wPos - 1)) Else BrowseFolder = vbNullString End If
നെട ഫംങ് ഷന് !ധാനമായ ം ര.് ആഗെമ കളാ¡;ത് . ഒ6് hWnd എ6 വിൊ
ഹാQഡിലം szDialogTitle എ6 ൈടി സ് ¢ിNം.
ഫങ് ഷQ കാ െചwേ9ാ വിൊഹാQഡ് ലായി hWnd ആണ് ഉപേയാഗി8ക അGേപാെല തെ6 DialogTitle ആയി േ!ാ"ാമ'് അDേയാജെമIേതാD6 ഏെതാV സ് ¢ിNം ഉപേയാഗി'ാവ6താണ് .
ഇനി േ!ാ"ാം !വLിBിMേനാ86തിനായി ഒV െടക t ് ് േബാക t £ ം കമാ് ബUDം േഫാമിേല'് േച8ക. കമാ് ബUെ ക ി'് ഇവി താെഴ കാ¡6 േകാഡ് േചLാ േ!ാ"ാം !വLനേയാഗമായി. Text1.Text = BrowseFolder(hwnd, "Please Select Folder to Save Data")
ഡാെ!ാജക £ കളിെല ഡാ പാL് െസ് െചയ6തിനായി ഈ ഫങ് ഷQ ഉപേയാഗെപടLാവ6താണ് . മകളി െചയ് ത ഫങ് ഷQ ഒV െമാഡളി െചwകയാെണ/ി മ; െ!ാെജക ് കളിേല8Eടി ഇത് ഉപേയാഗെപടLാQ സാധി8ം.
പരിശീലനLിനായി 1. ഒV െഫാഡ ൈഹഡ് െചw6തിനായി ഒV െ!ാ"ാം നിി8ക? • േഫാഡ പാL് ൌസ് െചw6തിനായി ഫങ് ഷQ നിി8ക. • േഫാഡ ൈഹഡ് െചwാQ താെഴ കാ¡6 േകാഡ് ഉപേയാഗി'ാം. Dim fs, f Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder() If Not (f.Attributes And 2) Then f.Attributes = f.Attributes + 2 2. േഫാഡ അൈഹഡ് െചw6തിD; േ!ാ"ാം തwാറാ8ക?