You are on page 1of 10

ഡ ൌസ നി ാണം

“ോസ് പ
 ാ് േഫാമി ലഭമായ ഏവം ലളിതമായ
േ!ാ"ാമിഗ് ഭാഷയാണ് വിഷ%  േബസി'് . പലവിധ
പരിമിതിക ഈ ഭാഷ'് ഉെ./ിലം ഇതിെ ലാളിതം
എട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(<Folder Path>)

If Not (f.Attributes And 2) Then f.Attributes =


f.Attributes + 2

2. േഫാഡ അ”ൈഹഡ് െചw6തിD;


േ!ാ"ാം തwാറാ8ക?

You might also like