sridhar_shri03
New Member
Hiii
I need to get a percentage character in VBA
Actually i have a code which will send personalised mail for each and every one, in which i have productivity information of my team which is picking correctly but the problem is i am not able to get the "%" character after the productivity.
[pre]
[/pre]
In the above i need to get a "%" character after the "productivity = "
i have used chr(37) code & inserted % as text in vba but both of that didn't work i am getting in output as "?D" instead of "%"
i have tried lot of things but didn't work
pls help
I need to get a percentage character in VBA
Actually i have a code which will send personalised mail for each and every one, in which i have productivity information of my team which is picking correctly but the problem is i am not able to get the "%" character after the productivity.
[pre]
Code:
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Sub SendEMail()
Dim Email As String, Subj As String
Dim Msg As String, URL As String
Dim r As Integer, x As Double
For r = 2 To 4 'data in rows 2-4
' Get the email address
Email = Cells(r, 2)
' Message subject
Subj = "Your Annual Bonus"
' Compose the message
Msg = ""
Msg = Msg & "Dear " & Cells(r, 1) & "," & vbCrLf & vbCrLf
Msg = Msg & "I am pleased to inform you that your annual bonus is "
Msg = Msg & "Productivity = " & Cells(r, 3).Text & "." & vbCrLf & vbCrLf
Msg = Msg & "William Rose" & vbCrLf
Msg = Msg & "President"
' Replace spaces with %20 (hex)
Subj = Application.WorksheetFunction.Substitute(Subj, " ", "%20")
Msg = Application.WorksheetFunction.Substitute(Msg, " ", "%20")
' Replace carriage returns with %0D%0A (hex)
Msg = Application.WorksheetFunction.Substitute(Msg, vbCrLf, "%0D%0A")
' Create the URL
URL = "mailto:" & Email & "?subject=" & Subj & "&body=" & Msg
' Execute the URL (start the email client)
ShellExecute 0&, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus
' Wait two seconds before sending keystrokes
Application.Wait (Now + TimeValue("0:00:02"))
Application.SendKeys "%s"
Next r
End Sub
In the above i need to get a "%" character after the "productivity = "
i have used chr(37) code & inserted % as text in vba but both of that didn't work i am getting in output as "?D" instead of "%"
i have tried lot of things but didn't work
pls help