ஒரு வியாபார நிறுவனத்தில் கடிதம் தொடர்பான பயன்பாட்டிற்கு வேர்டையும், மின்னஞ்சலுக்கு அவுட்லுக்கையும், இலாப நட்ட கணக்கிற்கு எக்செல்லையும், தரவுதள நிருவாகத்திற்கு அக்ஸசையும், அறிக்கைகளை காட்சிபடுத்தி சமர்ப்பிக்க பவர்பாயிண்டையும் போன்று பல்வேறு செந்தரமாக்கப்பட்ட மென்பொருட்களை பயன்படுத்துகின்றது. இந்த மென்பொருட்களை ஒன்றுடன் மற்றொன்றை ஒருங்கிணைத்து நிறுவனத்தின் ஒட்டுமொத்தமான ஒரே மென்பொருளாக உருமாற்றம் செய்ய உதவுவதுதான் விபிஏ ஆகும்.
பெரிய நிறுவனங்கள் ஒட்டு மொத்த மென்பொருளுக்காக ERP மற்றும் SAP போன்றவைகளை பயன்படுத்தி கொள்ள முடியும் ஆயினும் சின்னஞ்சிறு நிறுவனங்கள் இந்த எம்.எஸ் அலுவலக பயன்பாட்டு மென்பொருளையே ஒருங்கிணைந்து பயன்படுத்த முயலும் அதற்காக இருப்பதுதான் விபிஏ ஆகும். இந்த விபிஏவானது அலுவலக பயன்பாடுகளை தானாக இயங்குமாறு செய்கிறது. அதற்காக மற்ற பயன்பாடுகளை எவ்வாறு ஒருங்கிணைத்து பயன்படுத்துவது என்பதற்கான குறிமுறைகளை உருவாக்க முடியும். இந்த குறிமுறையின் மூலம் மற்ற பயன்பாடுகளை குறிப்பிட்ட மேற்கோள் மூலம் கட்டுப்படுத்தி நடப்பு பயன்பாட்டிற்கு ஏற்றவாறு உபயோகித்து கொள்ள முடியும். இவ்வாறு இதன் மூலம் என்னற்ற நடைமுறைகளை அலுவலக பயன்பாடுகளில் ஒருங்கிணைத்து பயன்படுத்த முடியும்.
இந்த அலுவலக பயன்பாடுகள் தானாக இயங்குவதற்கான மேற்கோள் தகவல்களை வழங்குவதற்காக உதவுவதுதான் Object Library ஆகும். இந்த நூலகத்தில் குறிப்பிட்ட பயன்பாட்டின் பண்பியல்புகள் (Properties) வழிமுறைகள் (Methods), இனங்கள் (Classes) ஆகிய விவரங்கள் அடங்கியுள்ளன. ஒரு பயன்பாட்டின் இனமென்பது அதன் உள் கட்டமைப்பிற்கேற்றவாறு வகைப்படுத்தப்படுகிறது. உதாரணமாக படிவங்கள், அறிக்கைகள் போன்றவை தனித்தனி இனங்களாகும். விபிஏ ஆனது நாம் எழுதும் குறிமுறையில் குறிப்பிட்ட இனத்தின் Object மாறிகள் மேற்கோளாக குறிப்பிடுவதை தீர்மானிக்கிறது. இந்த Object மாறிகளை தீர்மானிக்கும் செயலை binding என்பர் இந்த binding ஆனது Early binding, late binding ஆகிய இரண்டு வழிமுறைகளில் உள்ளது.
1Early Binding :அக்சஸில் உள்ள ஓரு விபிஏ சாளரத்தில் மேற்கோள் உரையாடல் பெட்டியை பயன்படுத்தி object libraryயை வெளிப்படையாக மேற்கோள் காட்டமுடியும இவ்வாறு செய்தால் அது early binding எனப்படும். இவ்வாறு செய்தவுடன் பயன்பாடுகள் செயல்பட துவங்கும். இதன் மேற்கோளை உருவாக்குவதற்காக புதியதான moduleஒன்றை உருவாக்க வேண்டும் அல்லது ஏற்கனவே உள்ள moduleஐ தரவுதளத்தின் விபிஏ வடிவமைப்பு திரையில் திறந்து கொள்க. பின்னர் மேலே கட்டளை சட்டத்தில் உள்ள tools என்பதை தெரிவு செய்க. உடன் விரியும் tools பட்டியில் reference என்பதை (படம்-1) தெரிவு செய்க. உடன் reference என்னும் உரையாடல் பெட்டி தோன்றும். அதன்பின்னர்Available reference என்ற பகுதியில்
Microsoft DAO 3.6 library
Microsoft Office 11.0 Object Library
Microsoft Word 11.0 Object Library
என்றவாறு பட்டியலிடப்பட்டிருக்கும். இவைகளில் நம் தேவைக்கேற்றவாறு ஏதேனும் ஒன்றை தெரிவு செய் பெட்டியில் (படம்-1)தெரிவு (tick) செய்க. இதன் பிறகு குறிமுறையில் குறிப்பிட்ட மேற்கோள் பயன்பாட்டை உள்ளீடு செய்து இடைவெளி அல்லது புள்ளி வைத்தவுடன் இந்த வகைளில் உள்ள கட்டளைகள் கீழிறங்கு பட்டி (drop down) மூலம் பட்டியலிடும் அவற்றில் ஒன்றை தேவையானவற்றை தெரிவு செய்து உள்ளீடு செய்து கொள்ளலாம்.
2. Late Binding : இவ்வாறு மேற்கோள் உரையாடல் பெட்டி மூலம் மேற்கோள் செய்யாமல் வேறு வகையிலும் இதே செயலை செய்ய முடியும். குறிமுறையின் ஆரம்பத்தில் மாறியை ஒரு object ஆக முதலில் அறிவிப்பு செய்திட வேண்டும். அதன்பிறகு object-ஐ மேற்கோள் காட்டுவதற்காக கட்டளைகளை அமைத்திட வேண்டும். இதுவே late binding என்பர்.
எம்.எஸ் வேர்டை இந்த வழிமுறையில் மேற்கோள் காட்டுவதற்கு
Dim word obj as object
Set word obj = new word application
என்றவாறு முன்கூட்டியே அறிவிப்பு செய்திட வேண்டும்.
Dim my word as new என உள்ளீடு செய்தவுடன் தானாகவே தோன்றும் கீழிறங்கு பட்டியில் word என தெரிவு செய்து புள்ளி வைத்தவுடன் மீண்டும் தோன்றும் அதன் வகைகளின் கீழிறங்கு பட்டியலில் application என தெரிவு(படம்-2) செய்க.
குறிப்பிட்ட பயன்பாடுகளில் எந்த பயன்பாடு ஒருங்கிணைக்க வேண்டும் என இவ்வாறு விபிஏவின் குறிமுறையில் குறிப்பிட வேண்டும். உடன் குறிப்பிட்ட பயன்பாடுகள் இயங்க ஆரம்பித்து நம்முடைய பயன்பாட்டில் ஒருங்கிணைக்கப்படும். இவ்வாறு தானியங்கி செயலை ஆதரிப்பதற்கு automation server என அழைப்பர்.
Early binding வழிமுறையே சாதாரணமான சுலபமான வழிமுறையாகும். முன்பு கூறிய வழிமுறையில் புதிய திறவு சொல்லை (new keyword) மேற்கோள் செய்ய வில்லையெனில் பிழைச்செய்தி (Error Message) திரையில் சுட்டும். இவ்வாறு ஒரு சான்றளிக்கப்பட்ட பொருள் நூலகத்தை புதிய திறவு சொல்லை பயன்படுத்தி உருவாக்குவது மட்டுமல்லாமல் பொருள் செயலியை உருவாக்கும் வழிமுறையை பயன்படுத்தியும் இதனை உருவாக்க முடியும். ஆனால் இது புதிய திறவுசொல்லை ஆதரிக்காது. நாம் எந்த வகை பொருளை உருவாக்குகிறோமோ அதனை முதலில் அறிவிப்பு செய்திட வேண்டும். அதற்காக set என்ற கூற்றை பயன்படுத்தி கொள்ள வேண்டும்.
Binder ஆனது புதிய திறவு சொல்லை ஆதரிக்கவில்லை ஆனால் ஒரு object libraryஐ வழங்குகிறது எனில் மேற்கோள் உரையாடல் பெட்டி மூலம் மேற்கோள் செய்வது நல்லது.
Dim Binder Obj As office Binder.Binder
Set Binder Obj = Create Object “Office.Binder
என்றவாறு Create Object என்ற செயலியை early bindlngக்கு பயன்படுத்தி கொள்ளலாம் அல்லது
Dim Binder Obj As object
Set Binder Obj = Create Object “Office.Binder
என்றவாறு குறிப்பிட்ட வகை பொருள் மாறியை அறிவிப்பு செய்யாமல் late binding ஆகவும் பயன்படுத்தி கொள்ளலாம். இதில் உள்ள இரண்டாவது வரியை
set binder obj = create object (“word.application”) என்றவாறு மாற்றியும் அமைக்கலாம்.
நடப்பில் இருக்கும் சான்றளிக்கப்பட்ட பொருளை பெறுவதற்கு
set object variable = get object (path name) (class) என்றவாறு பெறும் வழியையும் (path) குறிப்பிட வேண்டும்.
உதாரணமாக நடப்பில் உள்ள சான்றளிக்கப்பட்ட M.S.Excel-ஐ பயன்படுத்துகிறோம். ஆனால் ஒரு குறிப்பிட்ட எக்செல் ஆவணத்தை அன்று என்ற நிலையில்
Dim Excel obj as Excel application
Set Excel Object = Get Object (Excel application)
என்றும்
Dim Excel obj As Excel Application
Set Excel obj = Get object (“DC My Excel.wk3” “Excel.application”)
என்றவாறு குறிமுறை புதிய செயலியை நம்முடைய moduleலில் அறிவிப்பு செய்து பயன்படுத்தி கொள்ளலாம்.
மேலே கண்டவாறு தானியங்கி பணியகத்திற்கு (Automation server) தேவையான சான்றளிக்கப்பட்ட மேற்கோளை குறிப்பிட்ட பிறகு அதனை பயன்படுத்தும்போது அதன் இயக்ககத்தை (Directory) கீழ்காணும் குறிமுறை மூலம் மாற்றியமைக்க முடியும்.
Dim Excel obj as new excel.application
Excel obj change file open directory :C:\My Document \”
சான்றளிக்கப்பட்ட மேற்கோளை தானியங்கி பணியகத்திலிருந்து நீக்குவதற்கு (Delete)
set Excel obj = nothing என்று அமைப்பது மூலமாகவோ அல்லது
Excel obj Quit
Set Excel obj = nothing என்ற இரண்டையும் சேர்த்தோ பயன்படுத்தி நீக்க முடியும்.
பெரும்பாலும் தானியங்கி பணியகத்தில் அக்ஸசுடன் வேர்டையே அதிக அளவிற்கு ஒருங்கிணைத்து பயன்படுத்துவார்கள். ஒரு நிறுவனத்தின் ஆண்டு கூட்டத்திற்கான அழைப்பிதழ்களை ஆயிரக்கணக்கான உறுப்பினர்களுக்கு அனுப்ப வேண்டியுள்ளது. அனைவருக்கும் அனுப்பும் கடிதத்தின் உள்ளடக்கங்கள் ஒன்றேதான் ஆனால் வெவ்வேறு முகவரிக்கு அனுப்ப வேண்டியிருக்கும். இந்த நிலையில் கடித உள்ளடக்கத்தை வேர்ட்டில் தட்டச்சு செய்து தயார் நிலையில் வைத்து கொண்டு அக்சஸில் உறுப்பினர்களின் பெயர் மற்றும் முகவரிகளை இணைத்து ஆயிரக்கணக்கான கடிதங்களை அனுப்புவதற்கு இந்த தானியங்கி பணியகம் மிகச்சிறப்பாக பயன்படுகிறது.
இவ்வாறு ஒரு வியாபார நிறுவனம் தான் உற்பத்தி செய்த பொருளை பல்வேறு பயனாளருக்கு விற்பனை செய்வதற்காக விற்பனை உத்தரவை பெற்றுள்ளது. இதற்காக ஏற்புகை கடிதங்களை அனைவருக்கும் அனுப்ப விரும்புகிறது. இந்த கடிதத்தில் உள்ளடக்கங்கள் ஒரே மாதிரியாகத்தான் இருக்கும். ஆனால் முகவரி, கடிதம் எண், எவ்வளவு பொருள் தேவை, அதன் மதிப்பு போன்ற விவரங்கள் மட்டுமே ஒவ்வொரு கடிதத்திலும் மாற்றியமைக்க வேண்டும். இதற்காக mergetoword( ) என்ற செயலியையும் thanks.dot என்ற மாதிரி படிவத்தையும் பயன்படுத்தி இதனை செயல்படுத்த முடியும்.
இங்கு Thanks.dot என்ற மாதிரி படிவ விற்பனைக்கான நன்றி கடிதத்தை அச்சிடுமாறு செய்யப்பட்டுள்ளது. வாடிக்கையாளர் விவரம், விற்பனை உத்தரவின் தரவுகள் Thanks.dot மாதிரி படிவம் ஆகியவற்றுடன் இவை அனைத்தும் உள்ளடக்கிய வெளியீட்டு கடிதம் ஆகியவை கொடுக்கப்பட்டுள்ளன. இதில் Bookmark ஆனது சாம்பல் நிற பெரிய ஒளிக்கற்றை போன்று (உரையை உள்ளிணைக்கும்) பகுதியில்படம்-3காட்டப்பட்டுள்ளது.
இந்த bookmark சாதாரணமாக கண்ணுக்கு புலப்படாது. இதனை பார்வைக்கு புலப்படும்படி செய்ய கட்டளை சட்டத்தில் உள்ள Tools => Option => என்றவாறு தெரிவு செயதவுடன் தோன்றும் உரையாடல் பெட்டியில் view tab என்பதை தெரிவு செய்தபின் தோன்றிடும் திரையின் மேல் பகுதியில் bookmark என்ற வாய்ப்பை (மூன்றாவதாக) என்றவாறு தெரிவு செய்க. இதில் எந்த பகுதிக்கு எந்தெந்த Bookmark ஒதுக்கீடு செய்யப்பட்டுள்ளது என கொடுக்கப்பட்டுள்ளது.
ஒரு பயனாளர் இதில் உள்ள Print Thank you letter என்னும் பொத்தானை படம்-4 சொடுக்கியவுடன் தானாகவே இதற்கான கடிதங்கள் அச்சிடும் இதற்கான merge to word செயலியை பயன்படுத்தி எழுதப்பட்ட குறிமுறை பின்வருமாறு
Program 39-1.
Public Function MergetoWord()
‘ This method creates a new document in MS Word 2002 using Automation.
On Error Resume Next
Dim rsCust As Recordset, iTemp As Integer
Dim WordObj As Word.Application
Set rsCust = DBEngine(0).Databases(0).OpenRecordset(“Customers”, dbOpenTable)
rsCust.Index = “PrimaryKey”
rsCust.Seek “=”, Forms!Orders![CustomerNumber]
If rsCust.NoMatch Then
MsgBox “Invalid customer”, vbOKOnly
Exit Function
End If
DoCmd.Hourglass True
Set WordObj = GetObject(, “Word.Application”)
If Err.Number <> 0 Then
Set WordObj = CreateObject(“Word.Application”)
End If
WordObj.Visible = True
‘ Warning
‘ Specify the correct drive and path to the
‘ file named thanks.dot in the line below.
WordObj.Documents.Add Template:=”g:\access 11 book\thanks.dot”, NewTemplate:=False
‘ The above drive and path must be fixed.
WordObj.Selection.GoTo what:=wdGoToBookmark, Name:=”FullName”
WordObj.Selection.TypeText rsCust![ContactName]
WordObj.Selection.GoTo what:=wdGoToBookmark, Name:=”CompanyName”
WordObj.Selection.TypeText rsCust![CompanyName]
WordObj.Selection.GoTo what:=wdGoToBookmark, Name:=”Address1″
WordObj.Selection.TypeText rsCust![Address1]
WordObj.Selection.GoTo what:=wdGoToBookmark, Name:=”Address2″
If IsNull(rsCust![Address2]) Then
WordObj.Selection.TypeText “”
Else
WordObj.Selection.TypeText rsCust![Address2]
End If
WordObj.Selection.GoTo what:=wdGoToBookmark, Name:=”City”
WordObj.Selection.TypeText rsCust![City]
WordObj.Selection.GoTo what:=wdGoToBookmark, Name:=”State”
WordObj.Selection.TypeText rsCust![State]
WordObj.Selection.GoTo what:=wdGoToBookmark, Name:=”Zipcode”
WordObj.Selection.TypeText rsCust![Zipcode]
WordObj.Selection.GoTo what:=wdGoToBookmark, Name:=”PhoneNumber”
WordObj.Selection.TypeText rsCust![PhoneNumber]
WordObj.Selection.GoTo what:=wdGoToBookmark, Name:=”NumOrdered”
WordObj.Selection.TypeText Forms!Orders![Quantity]
WordObj.Selection.GoTo what:=wdGoToBookmark, Name:=”ProductOrdered”
If Forms!Orders![Quantity] > 1 Then
WordObj.Selection.TypeText Forms!Orders![Item] & “s”
Else
WordObj.Selection.TypeText Forms!Orders![Item]
End If
WordObj.Selection.GoTo what:=wdGoToBookmark, Name:=”FName”
iTemp = InStr(rsCust![ContactName], ” “)
If iTemp > 0 Then
WordObj.Selection.TypeText Left$(rsCust![ContactName], iTemp – 1)
End If
WordObj.Selection.GoTo what:=wdGoToBookmark, Name:=”LetterName”
WordObj.Selection.TypeText rsCust![ContactName]
DoEvents
WordObj.Activate
WordObj.Selection.MoveUp wdLine, 6
‘ Set the Word Object to nothing to free resources
Set WordObj = Nothing
DoCmd.Hourglass False
Exit Function
TemplateError:
Set WordObj = Nothing
Exit Function
End Function












































