Sample VB .NET source code to create mailing labels or customized letters
using MS Word MailMerge
This VB .NET source code will start MS Word and call methods and set
properties in MS Word to execute a MailMerge to create mailing labels or
customized letters.
A label name known to MS Word MailMerge mailing label wizard may be used or
a template file containing the field names Line1 thru Line5 for each record
to be printed. If a template file is used ("bUseTemplate" =True),
"strLabelNa me" contains the full path filename to the template file
otherwise it contains a label name known to the MS Word MailMerge mailing
label wizard (e.g. "5162").
The "strFileNam e" parameter contains the full path filename to a data file
containing TAB delimited records with exactly 5 fields in each record. Each
record contains the name and address information. The first record of the
data file contains the field names (Line1, Line2, Line3, Line4, Line5)
delimited by a TAB character.
The "wd_AlignmentCo de" parameter and the "intOffset" parameter are used only
when "bUseTempla te" is False. They specify the alignment of the fields
within the label and their offset from the left margin of the label table
cell respectively. "intOffset" is specified in inches.
Add References to:
Microsoft Word 10.0 Object Library
Microsoft Office 10.0 Object Library
or equivalent for older or newer releases of MS Office
Imports:
Microsoft.Visua lBasic
_______________ _______________ _______________ ________
Sub CreateWordMailM erge(ByVal strLabelName As String, _
ByVal wd_AlignmentCod e As Word.WdCellVert icalAlignment, _
ByVal intOffset As Single, _
ByVal strFileName As String, _
ByVal bUseTemplate As Boolean)
Dim oApp As Word.Applicatio n
Dim oDoc As Word.Document
Dim x As Integer
Dim bOK As Boolean = False
Dim oAutoText As Word.AutoTextEn try
Try
'Start a new document in Word
oApp = CType(CreateObj ect("Word.Appli cation"), Word.Applicatio n)
If bUseTemplate Then
Try
oDoc = oApp.Documents. Open(CType(strL abelName,
System.Object), False, True, _
False, , , True, , , _
Word.WdOpenForm at.wdOpenFormat Document,
, True)
Catch MyException As System.Exceptio n
MsgBox(String.C oncat("Unable to open ", strLabelName, _
ControlChars.Cr .ToString, ControlChars.Cr .ToString,
_
"Error Message: ", MyException.Mes sage,
ControlChars.Cr .ToString, _
"Source: ", MyException.Sou rce,
ControlChars.Cr .ToString, _
"InnerException : ",
MyException.Inn erException.Mes sage, ControlChars.Cr .ToString), _
MsgBoxStyle.Cri tical, "Label Template Open Failure")
CType(oApp, Word._Applicati on).Quit()
oApp = Nothing
Exit Sub
End Try
Else
oDoc = oApp.Documents. Add
End If
oApp.Visible = True ' Make MS Word visible
Application.DoE vents()
' Do MailMerge
With oDoc.MailMerge
If Not bUseTemplate Then
With .Fields
.Add(oApp.Selec tion.Range, "Line1")
oApp.Selection. TypeParagraph()
.Add(oApp.Selec tion.Range, "Line2")
oApp.Selection. TypeParagraph()
.Add(oApp.Selec tion.Range, "Line3")
oApp.Selection. TypeParagraph()
.Add(oApp.Selec tion.Range, "Line4")
oApp.Selection. TypeParagraph()
.Add(oApp.Selec tion.Range, "Line5")
End With
oAutoText =
oApp.NormalTemp late.AutoTextEn tries.Add("word AutoTextTemp", oDoc.Content)
oDoc.Content.De lete()
End If ' If bUseTemplate
' Set up the mail merge type as mailing labels and use
' a tab-delimited text file as the data source.
.MainDocumentTy pe =
Word.WdMailMerg eMainDocType.wd MailingLabels
.OpenDataSource (strFileName, _
Word.WdOpenForm at.wdOpenFormat Text, _
False, True, False, False)
If Not bUseTemplate Then
'
'Create the new document for the labels using the
AutoText entry
'
oApp.MailingLab el.CreateNewDoc ument( _
CType(strLabelN ame, String), _
"", _
"wordAutoTextTe mp", _
False, _
Word.WdPaperTra y.wdPrinterManu alFeed)
End If ' If bUseTemplate
'
'Execute the mail merge to generate the labels.
.Destination =
Word.WdMailMerg eDestination.wd SendToNewDocume nt
.Execute()
'
If Not bUseTemplate Then
'Delete the AutoText entry
oAutoText.Delet e()
End If ' If bUseTemplate
End With
'
'Close the original document so that
'the Mail Merge results are displayed
CType(oDoc, Word._Document) .Close(False)
'
If Not bUseTemplate Then
' Apply vertical alignment
For x = 1 To oApp.ActiveDocu ment.Tables.Cou nt
oApp.ActiveDocu ment.Tables.Ite m(x).Range.Cell s.VerticalAlign ment = _
wd_AlignmentCod e
Next
Application.DoE vents()
For x = 1 To oApp.ActiveDocu ment.Tables.Cou nt
oApp.ActiveDocu ment.Tables.Ite m(x).LeftPaddin g =
oApp.InchesToPo ints(intOffset)
oApp.ActiveDocu ment.Tables.Ite m(x).Rows.LeftI ndent =
oApp.InchesToPo ints(intOffset)
Next
Application.DoE vents()
End If
If oApp.ActiveWind ow.View.Type <> Word.WdViewType .wdPrintView
Then
If oApp.ActiveWind ow.View.SplitSp ecial =
Word.WdSpecialP ane.wdPaneNone Then
oApp.ActiveWind ow.ActivePane.V iew.Type =
Word.WdViewType .wdPrintView
Else
oApp.ActiveWind ow.View.Type =
Word.WdViewType .wdPrintView
End If
End If
'
'Prevent save to Normal template when user exits Word
oApp.NormalTemp late.Saved = True
oApp = Nothing
oDoc = Nothing
Catch MyException As System.Runtime. InteropServices .COMException
MsgBox(String.C oncat("Error occured while communicating with MS
Word", _
ControlChars.Cr .ToString, ControlChars.Cr .ToString, _
"ErrorCode: ", MyException.Err orCode,
ControlChars.Cr .ToString, _
"Error Message: ", MyException.Mes sage,
ControlChars.Cr .ToString, _
"Source: ", MyException.Sou rce, ControlChars.Cr .ToString, _
"StackTrace : ", MyException.Sta ckTrace,
ControlChars.Cr .ToString), _
MsgBoxStyle.Cri tical, "MS Word Problem")
End Try
End Sub 2 4272
Hi, http://support.microsoft.com/default...b;en-us;301656
Ken
------------------
"Mikey" <Mi***@nospam-nohow-noway.net> wrote in message
news:uS******** ******@TK2MSFTN GP11.phx.gbl... Sample VB .NET source code to create mailing labels or customized letters using MS Word MailMerge
This VB .NET source code will start MS Word and call methods and set properties in MS Word to execute a MailMerge to create mailing labels or customized letters.
A label name known to MS Word MailMerge mailing label wizard may be used
or a template file containing the field names Line1 thru Line5 for each
record to be printed. If a template file is used ("bUseTemplate" =True), "strLabelNa me" contains the full path filename to the template file otherwise it contains a label name known to the MS Word MailMerge mailing label wizard (e.g. "5162").
The "strFileNam e" parameter contains the full path filename to a data file containing TAB delimited records with exactly 5 fields in each record.
Each record contains the name and address information. The first record of the data file contains the field names (Line1, Line2, Line3, Line4, Line5) delimited by a TAB character.
The "wd_AlignmentCo de" parameter and the "intOffset" parameter are used
only when "bUseTempla te" is False. They specify the alignment of the fields within the label and their offset from the left margin of the label table cell respectively. "intOffset" is specified in inches.
Add References to: Microsoft Word 10.0 Object Library Microsoft Office 10.0 Object Library or equivalent for older or newer releases of MS Office
Imports: Microsoft.Visua lBasic _______________ _______________ _______________ ________ Sub CreateWordMailM erge(ByVal strLabelName As String, _ ByVal wd_AlignmentCod e As Word.WdCellVert icalAlignment, _ ByVal intOffset As Single, _ ByVal strFileName As String, _ ByVal bUseTemplate As Boolean) Dim oApp As Word.Applicatio n Dim oDoc As Word.Document Dim x As Integer Dim bOK As Boolean = False Dim oAutoText As Word.AutoTextEn try
Try 'Start a new document in Word oApp = CType(CreateObj ect("Word.Appli cation"),
Word.Applicatio n) If bUseTemplate Then Try oDoc = oApp.Documents. Open(CType(strL abelName, System.Object), False, True, _ False, , , True, , , _
Word.WdOpenForm at.wdOpenFormat Document, , True) Catch MyException As System.Exceptio n MsgBox(String.C oncat("Unable to open ", strLabelName,
_ ControlChars.Cr .ToString,
ControlChars.Cr .ToString, _ "Error Message: ", MyException.Mes sage, ControlChars.Cr .ToString, _ "Source: ", MyException.Sou rce, ControlChars.Cr .ToString, _ "InnerException : ", MyException.Inn erException.Mes sage, ControlChars.Cr .ToString), _ MsgBoxStyle.Cri tical, "Label Template Open
Failure") CType(oApp, Word._Applicati on).Quit() oApp = Nothing Exit Sub End Try Else oDoc = oApp.Documents. Add End If oApp.Visible = True ' Make MS Word visible Application.DoE vents() ' Do MailMerge With oDoc.MailMerge If Not bUseTemplate Then With .Fields .Add(oApp.Selec tion.Range, "Line1") oApp.Selection. TypeParagraph() .Add(oApp.Selec tion.Range, "Line2") oApp.Selection. TypeParagraph() .Add(oApp.Selec tion.Range, "Line3") oApp.Selection. TypeParagraph() .Add(oApp.Selec tion.Range, "Line4") oApp.Selection. TypeParagraph() .Add(oApp.Selec tion.Range, "Line5") End With oAutoText = oApp.NormalTemp late.AutoTextEn tries.Add("word AutoTextTemp", oDoc.Content) oDoc.Content.De lete() End If ' If bUseTemplate ' Set up the mail merge type as mailing labels and use ' a tab-delimited text file as the data source. .MainDocumentTy pe = Word.WdMailMerg eMainDocType.wd MailingLabels .OpenDataSource (strFileName, _ Word.WdOpenForm at.wdOpenFormat Text, _ False, True, False, False) If Not bUseTemplate Then ' 'Create the new document for the labels using the AutoText entry ' oApp.MailingLab el.CreateNewDoc ument( _ CType(strLabelN ame, String), _ "", _ "wordAutoTextTe mp", _ False, _ Word.WdPaperTra y.wdPrinterManu alFeed) End If ' If bUseTemplate ' 'Execute the mail merge to generate the labels. .Destination = Word.WdMailMerg eDestination.wd SendToNewDocume nt .Execute() ' If Not bUseTemplate Then 'Delete the AutoText entry oAutoText.Delet e() End If ' If bUseTemplate End With ' 'Close the original document so that 'the Mail Merge results are displayed CType(oDoc, Word._Document) .Close(False) ' If Not bUseTemplate Then ' Apply vertical alignment For x = 1 To oApp.ActiveDocu ment.Tables.Cou nt
oApp.ActiveDocu ment.Tables.Ite m(x).Range.Cell s.VerticalAlign ment = _ wd_AlignmentCod e Next Application.DoE vents() For x = 1 To oApp.ActiveDocu ment.Tables.Cou nt oApp.ActiveDocu ment.Tables.Ite m(x).LeftPaddin g = oApp.InchesToPo ints(intOffset) oApp.ActiveDocu ment.Tables.Ite m(x).Rows.LeftI ndent = oApp.InchesToPo ints(intOffset) Next Application.DoE vents() End If If oApp.ActiveWind ow.View.Type <> Word.WdViewType .wdPrintView Then If oApp.ActiveWind ow.View.SplitSp ecial = Word.WdSpecialP ane.wdPaneNone Then oApp.ActiveWind ow.ActivePane.V iew.Type = Word.WdViewType .wdPrintView Else oApp.ActiveWind ow.View.Type = Word.WdViewType .wdPrintView End If End If ' 'Prevent save to Normal template when user exits Word oApp.NormalTemp late.Saved = True oApp = Nothing oDoc = Nothing Catch MyException As System.Runtime. InteropServices .COMException MsgBox(String.C oncat("Error occured while communicating with
MS Word", _ ControlChars.Cr .ToString, ControlChars.Cr .ToString, _ "ErrorCode: ", MyException.Err orCode, ControlChars.Cr .ToString, _ "Error Message: ", MyException.Mes sage, ControlChars.Cr .ToString, _ "Source: ", MyException.Sou rce, ControlChars.Cr .ToString,
_ "StackTrace : ", MyException.Sta ckTrace, ControlChars.Cr .ToString), _ MsgBoxStyle.Cri tical, "MS Word Problem") End Try End Sub
Hi, http://support.microsoft.com/default...b;en-us;301656
Ken
------------------
"Mikey" <Mi***@nospam-nohow-noway.net> wrote in message
news:uS******** ******@TK2MSFTN GP11.phx.gbl... Sample VB .NET source code to create mailing labels or customized letters using MS Word MailMerge
This VB .NET source code will start MS Word and call methods and set properties in MS Word to execute a MailMerge to create mailing labels or customized letters.
A label name known to MS Word MailMerge mailing label wizard may be used
or a template file containing the field names Line1 thru Line5 for each
record to be printed. If a template file is used ("bUseTemplate" =True), "strLabelNa me" contains the full path filename to the template file otherwise it contains a label name known to the MS Word MailMerge mailing label wizard (e.g. "5162").
The "strFileNam e" parameter contains the full path filename to a data file containing TAB delimited records with exactly 5 fields in each record.
Each record contains the name and address information. The first record of the data file contains the field names (Line1, Line2, Line3, Line4, Line5) delimited by a TAB character.
The "wd_AlignmentCo de" parameter and the "intOffset" parameter are used
only when "bUseTempla te" is False. They specify the alignment of the fields within the label and their offset from the left margin of the label table cell respectively. "intOffset" is specified in inches.
Add References to: Microsoft Word 10.0 Object Library Microsoft Office 10.0 Object Library or equivalent for older or newer releases of MS Office
Imports: Microsoft.Visua lBasic _______________ _______________ _______________ ________ Sub CreateWordMailM erge(ByVal strLabelName As String, _ ByVal wd_AlignmentCod e As Word.WdCellVert icalAlignment, _ ByVal intOffset As Single, _ ByVal strFileName As String, _ ByVal bUseTemplate As Boolean) Dim oApp As Word.Applicatio n Dim oDoc As Word.Document Dim x As Integer Dim bOK As Boolean = False Dim oAutoText As Word.AutoTextEn try
Try 'Start a new document in Word oApp = CType(CreateObj ect("Word.Appli cation"),
Word.Applicatio n) If bUseTemplate Then Try oDoc = oApp.Documents. Open(CType(strL abelName, System.Object), False, True, _ False, , , True, , , _
Word.WdOpenForm at.wdOpenFormat Document, , True) Catch MyException As System.Exceptio n MsgBox(String.C oncat("Unable to open ", strLabelName,
_ ControlChars.Cr .ToString,
ControlChars.Cr .ToString, _ "Error Message: ", MyException.Mes sage, ControlChars.Cr .ToString, _ "Source: ", MyException.Sou rce, ControlChars.Cr .ToString, _ "InnerException : ", MyException.Inn erException.Mes sage, ControlChars.Cr .ToString), _ MsgBoxStyle.Cri tical, "Label Template Open
Failure") CType(oApp, Word._Applicati on).Quit() oApp = Nothing Exit Sub End Try Else oDoc = oApp.Documents. Add End If oApp.Visible = True ' Make MS Word visible Application.DoE vents() ' Do MailMerge With oDoc.MailMerge If Not bUseTemplate Then With .Fields .Add(oApp.Selec tion.Range, "Line1") oApp.Selection. TypeParagraph() .Add(oApp.Selec tion.Range, "Line2") oApp.Selection. TypeParagraph() .Add(oApp.Selec tion.Range, "Line3") oApp.Selection. TypeParagraph() .Add(oApp.Selec tion.Range, "Line4") oApp.Selection. TypeParagraph() .Add(oApp.Selec tion.Range, "Line5") End With oAutoText = oApp.NormalTemp late.AutoTextEn tries.Add("word AutoTextTemp", oDoc.Content) oDoc.Content.De lete() End If ' If bUseTemplate ' Set up the mail merge type as mailing labels and use ' a tab-delimited text file as the data source. .MainDocumentTy pe = Word.WdMailMerg eMainDocType.wd MailingLabels .OpenDataSource (strFileName, _ Word.WdOpenForm at.wdOpenFormat Text, _ False, True, False, False) If Not bUseTemplate Then ' 'Create the new document for the labels using the AutoText entry ' oApp.MailingLab el.CreateNewDoc ument( _ CType(strLabelN ame, String), _ "", _ "wordAutoTextTe mp", _ False, _ Word.WdPaperTra y.wdPrinterManu alFeed) End If ' If bUseTemplate ' 'Execute the mail merge to generate the labels. .Destination = Word.WdMailMerg eDestination.wd SendToNewDocume nt .Execute() ' If Not bUseTemplate Then 'Delete the AutoText entry oAutoText.Delet e() End If ' If bUseTemplate End With ' 'Close the original document so that 'the Mail Merge results are displayed CType(oDoc, Word._Document) .Close(False) ' If Not bUseTemplate Then ' Apply vertical alignment For x = 1 To oApp.ActiveDocu ment.Tables.Cou nt
oApp.ActiveDocu ment.Tables.Ite m(x).Range.Cell s.VerticalAlign ment = _ wd_AlignmentCod e Next Application.DoE vents() For x = 1 To oApp.ActiveDocu ment.Tables.Cou nt oApp.ActiveDocu ment.Tables.Ite m(x).LeftPaddin g = oApp.InchesToPo ints(intOffset) oApp.ActiveDocu ment.Tables.Ite m(x).Rows.LeftI ndent = oApp.InchesToPo ints(intOffset) Next Application.DoE vents() End If If oApp.ActiveWind ow.View.Type <> Word.WdViewType .wdPrintView Then If oApp.ActiveWind ow.View.SplitSp ecial = Word.WdSpecialP ane.wdPaneNone Then oApp.ActiveWind ow.ActivePane.V iew.Type = Word.WdViewType .wdPrintView Else oApp.ActiveWind ow.View.Type = Word.WdViewType .wdPrintView End If End If ' 'Prevent save to Normal template when user exits Word oApp.NormalTemp late.Saved = True oApp = Nothing oDoc = Nothing Catch MyException As System.Runtime. InteropServices .COMException MsgBox(String.C oncat("Error occured while communicating with
MS Word", _ ControlChars.Cr .ToString, ControlChars.Cr .ToString, _ "ErrorCode: ", MyException.Err orCode, ControlChars.Cr .ToString, _ "Error Message: ", MyException.Mes sage, ControlChars.Cr .ToString, _ "Source: ", MyException.Sou rce, ControlChars.Cr .ToString,
_ "StackTrace : ", MyException.Sta ckTrace, ControlChars.Cr .ToString), _ MsgBoxStyle.Cri tical, "MS Word Problem") End Try End Sub This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Profetas |
last post by:
Hi,
I know that this is off topic. but I didn't know
where to post.
Do you comment your source code while coding or after coding.
for example:
you write a procedure and after it is working, you'll comment it.
|
by: Mikey |
last post by:
Sample VB .NET source code to create mailing labels or customized letters
using MS Word MailMerge
This VB .NET source code will start MS Word and call methods and set
properties in MS Word to execute a MailMerge to create mailing labels or
customized letters.
A label name known to MS Word MailMerge mailing label wizard may be used or
a template file containing the field names Line1 thru Line5 for each record
to be printed. If a...
|
by: shun |
last post by:
Hello,
I am going to design employee attendance regiter using ASP.NET, to track the
employees login time, logout time with date, i.e user when access the site
it asks for login details (user name and password). if it is correct user
enter the second screen and clicks the button, after clicking the button
automatically current time with date has to be stored. using ASP.NET and in
the same way the logout also.
I need
any sample source...
|
by: Sin Jeong-hun |
last post by:
I need to write little applications with c/s model. I need basic
features like,
1)The server should be able to handle multiple clients at the same
time. (multithreaded)
2)The clients and the server can send and receive data.
I think these could be very generic requirements. I searched the
internet for samples where I can get started, but the source codes were
too simple and showed unrealistic behaviours. I mean those examples
just send...
|
by: AccessHelp32 |
last post by:
Hi All!,
I've searched the fourms but I can't find anything specific to this. I'm trying to create customized letters using a data table containing names, addresses, order numbers etc.
I want a standard letter, but I want the name, address and order number to change for each letter (e.g. Dear Mr. Jones, Dear Mr.Smith, etc). I also want to print each letter and as the letter is printing, make the changes to each letter.
Any ideas of...
| |
by: zufie |
last post by:
I am trying to create mailing labels.
I created a query. I will also use the TRIM function.
I have been unsuccessful in my attempts to have 14 labels per page
print correctly.
I usually get an initial page of single letters as if the entire
address does not fit on the page or within the label.
|
by: divyac |
last post by:
I have developed an address book using php and mysql.I have all the contacts list in a table with check boxes.Now that i want to create mailing labels for the checked contacts...i.e.,the arrangements of addresses should be modified in such a way that there should be 5 addresses in a row of the table...I have done some coding but just dont know how to retrieve the checked contacts..Also..i have some problem in creating labels in which some...
|
by: praveenss |
last post by:
Can anybody provide me the sample source code for parsing a xml buffer using SAX parser.?
|
by: dbsog7777 |
last post by:
I was trying to use the sample code below, but I encountered two errors:
Application.DoEvents() and AutoText(entry). I am not sure how to correct the errors. I trying to use the sample code to create a mailmerge routine that accepts data from my SQL database and create a word doc that ce be previewed in the client browser. My OS is XP Pro and I am coding in VB.NET.
Protected Sub CreateWordMailMerge(ByVal strLabelName As String, _
...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
| |
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
| |
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |