Search
Search titles only
By:
Search titles only
By:
Log in
Register
Search
Search titles only
By:
Search titles only
By:
Menu
Install the app
Install
Forums
New posts
All threads
Latest threads
New posts
Trending threads
Trending
Search forums
What's new
New posts
New ads
New profile posts
Latest activity
Free Ads
Latest reviews
Search ads
Members
Current visitors
New profile posts
Search profile posts
Contact us
Latest ads
Pure VPN - Up to 27 Months
vgp
Updated:
Friday at 8:10 AM
එක පැකේජ් එකයි මාසෙටම Unlimited Internet. තාමත් DATA CARD දාන්න සල්ලි වියදම් කරනවද? අඩුම මිලට අපෙන්.
sayuru bandara
Updated:
Tuesday at 12:30 PM
Ad icon
ඉන්ටර්නෙට් එකෙන් හරියටම සල්ලි හොයන්න සහ Success වෙන්න කැමතිද? 🚀 (E-Money & Success Stories)
siri sumana
Updated:
May 30, 2026
Gemini AI PRO 18 months Offer
Hawaka
Updated:
May 27, 2026
Ad icon
koko account
DasunEranga
Updated:
May 27, 2026
Electronics
Vehicles
Property
Search
Reply to thread
Forums
General
ElaKiri Help
Excel issue
Get the App
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Message
<blockquote data-quote="soori19" data-source="post: 29909897" data-attributes="member: 560959"><p>Mama godak issara liwwe me program eka. Main module eka oyage sheet ekata galapena widiyata wenas karala ganna. </p><p></p><p></p><p>#Const LateBind = True</p><p></p><p>Const olMinimized As Long = 1</p><p>Const olMaximized As Long = 2</p><p>Const olFolderInbox As Long = 6</p><p></p><p>#If LateBind Then</p><p></p><p>Public Function OutlookApp( _</p><p> Optional WindowState As Long = olMinimized, _</p><p> Optional ReleaseIt As Boolean = False _</p><p> ) As Object</p><p> Static o As Object</p><p>#Else</p><p>Public Function OutlookApp( _</p><p> Optional WindowState As Outlook.OlWindowState = olMinimized, _</p><p> Optional ReleaseIt As Boolean _</p><p>) As Outlook.Application</p><p> Static o As Outlook.Application</p><p>#End If</p><p>On Error GoTo ErrHandler</p><p> </p><p> Select Case True</p><p> Case o Is Nothing, Len(o.Name) = 0</p><p> Set o = GetObject(, "Outlook.Application")</p><p> If o.Explorers.Count = 0 Then</p><p>InitOutlook:</p><p> 'Open inbox to prevent errors with security prompts</p><p> o.Session.GetDefaultFolder(olFolderInbox).Display</p><p> o.ActiveExplorer.WindowState = WindowState</p><p> End If</p><p> Case ReleaseIt</p><p> Set o = Nothing</p><p> End Select</p><p> Set OutlookApp = o</p><p> </p><p>ExitProc:</p><p> Exit Function</p><p>ErrHandler:</p><p> Select Case Err.Number</p><p> Case -2147352567</p><p> 'User cancelled setup, silently exit</p><p> Set o = Nothing</p><p> Case 429, 462</p><p> Set o = GetOutlookApp()</p><p> If o Is Nothing Then</p><p> Err.Raise 429, "OutlookApp", "Outlook Application does not appear to be installed."</p><p> Else</p><p> Resume InitOutlook</p><p> End If</p><p> Case Else</p><p> MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical, "Unexpected error"</p><p> End Select</p><p> Resume ExitProc</p><p> Resume</p><p>End Function</p><p></p><p>#If LateBind Then</p><p>Private Function GetOutlookApp() As Object</p><p>#Else</p><p>Private Function GetOutlookApp() As Outlook.Application</p><p>#End If</p><p>On Error GoTo ErrHandler</p><p> </p><p> Set GetOutlookApp = CreateObject("Outlook.Application")</p><p> </p><p>ExitProc:</p><p> Exit Function</p><p>ErrHandler:</p><p> Select Case Err.Number</p><p> Case Else</p><p> 'Do not raise any errors</p><p> Set GetOutlookApp = Nothing</p><p> End Select</p><p> Resume ExitProc</p><p> Resume</p><p>End Function</p><p></p><p></p><p></p><p></p><p>Sub Main()</p><p></p><p>Dim WS_Main As Worksheet</p><p>Dim WS_New As Worksheet</p><p>Dim WS_Template As Worksheet</p><p></p><p>Dim i As Long</p><p>Dim WS_Main_ColA_LastRow As Long</p><p></p><p>Dim EAddress As String</p><p>Dim AttachmentPath As String</p><p></p><p>Set WS_Main = ActiveSheet</p><p>Set WS_Template = Worksheets("TemplateSheet")</p><p></p><p>'Find last row of column A</p><p>With WS_Main</p><p>WS_Main_ColA_LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row</p><p>End With</p><p></p><p>WS_Template.Visible = True</p><p></p><p>'On Error GoTo ErrorHandler:</p><p>For i = 4 To WS_Main_ColA_LastRow</p><p></p><p> If StrComp(Trim(WS_Main.Range("AD" & i).Value), "Do not send email", vbTextCompare) <> 0 Then</p><p></p><p> 'Create a copy of the template sheet</p><p> WS_Template.Copy After:=Sheets(Sheets.Count)</p><p> 'Sheets("Oct 24, 2015").Select</p><p> Set WS_New = ActiveSheet</p><p> </p><p> 'START DATE and END DATE</p><p> WS_Main.Activate</p><p> Range("B1:C1").Select</p><p> Selection.Copy</p><p> WS_New.Select</p><p> WS_New.Range("D9").Select</p><p> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _</p><p> :=False, Transpose:=False</p><p> </p><p> 'Pay date</p><p> WS_Main.Activate</p><p> Range("F1").Select</p><p> Selection.Copy</p><p> WS_New.Select</p><p> WS_New.Range("F9").Select</p><p> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _</p><p> :=False, Transpose:=False</p><p> </p><p> 'Name</p><p> WS_Main.Activate</p><p> Range("T" & i).Select</p><p> Selection.Copy</p><p> WS_New.Select</p><p> WS_New.Range("B11").Select</p><p> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _</p><p> :=False, Transpose:=False</p><p> </p><p> 'Percent and Payment:JMD</p><p> WS_Main.Activate</p><p> Range("U" & i & ":V" & i).Select</p><p> Selection.Copy</p><p> WS_New.Select</p><p> WS_New.Range("E11").Select</p><p> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _</p><p> :=False, Transpose:=False</p><p> </p><p> 'remaing values</p><p> WS_Main.Activate</p><p> Range("W" & i & ":AA" & i).Select</p><p> Selection.Copy</p><p> WS_New.Select</p><p> WS_New.Range("F15").Select</p><p> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _</p><p> :=False, Transpose:=True</p><p> </p><p> WS_Main.Activate</p><p> Range("AC" & i).Select</p><p> Selection.Copy</p><p> WS_New.Select</p><p> WS_New.Range("C18").Select</p><p> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _</p><p> :=False, Transpose:=False</p><p> </p><p> WS_New.Range("A1").Select</p><p> WS_New.Name = "Paystub_" & WS_New.Range("B11").Value</p><p> </p><p> Call SavePdf(WS_New)</p><p> DoEvents</p><p> '***</p><p> EAddress = WS_Main.Range("AB" & i).Value</p><p> AttachmentPath = ThisWorkbook.Path & "\" & _</p><p> Trim(WS_Main.Range("T" & i).Value) & "_" & Month(CDate(WS_Main.Range("F1").Value)) & "_" _</p><p> & Day(CDate(WS_Main.Range("F1").Value)) & "_" & Year(CDate(WS_Main.Range("F1").Value)) & ".pdf"</p><p> </p><p> Call SendEmail(EAddress, AttachmentPath)</p><p> DoEvents</p><p> '***</p><p> </p><p> Application.DisplayAlerts = False</p><p> WS_New.Delete</p><p> Application.DisplayAlerts = True</p><p> </p><p> End If</p><p>Next i</p><p></p><p></p><p>'ErrorHandler:</p><p>Worksheets("TemplateSheet").Visible = xlVeryHidden</p><p></p><p>If Err = 0 Then</p><p> MsgBox "Completed", vbInformation, ""</p><p>Else</p><p> MsgBox "Error occured!", vbCritical, "warning!"</p><p>End If</p><p></p><p></p><p>End Sub</p><p></p><p></p><p></p><p></p><p>Sub SavePdf(WS As Worksheet)</p><p></p><p>'Dim WS As Worksheet</p><p>'Set WS = Worksheets("Paystub")</p><p></p><p>WS.PageSetup.Orientation = xlLandscape</p><p></p><p>FilePath = ThisWorkbook.Path</p><p></p><p>WS.Select</p><p></p><p>Dim fileName As String</p><p>fileName = Trim(WS.Range("B11").Value) & "_" & Month(CDate(WS.Range("F9").Value)) & "_" & _</p><p>Day(CDate(WS.Range("F9").Value)) & "_" & Year(CDate(WS.Range("F9").Value))</p><p></p><p>'MsgBox Month(CDate(Range("F9").Value))</p><p>'MsgBox Day(CDate(Range("F9").Value))</p><p>'MsgBox Year(CDate(Range("F9").Value))</p><p></p><p>ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=ThisWorkbook.Path & "\" & fileName & ".pdf", _</p><p> Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False</p><p></p><p>'MsgBox "Completed", vbInformation, ""</p><p></p><p></p><p>End Sub</p><p>Sub MyMacroThatUseOutlook()</p><p> Dim OutApp As Object</p><p> Set OutApp = OutlookApp()</p><p> 'Automate OutApp as desired</p><p>End Sub</p><p></p><p>Sub SendEmail(EmailAddress As String, FilePathtoAdd As String)</p><p></p><p></p><p>Dim messageBody As String</p><p></p><p>messageBody = "Hi," & vbCrLf & vbCrLf & _</p><p>"Here 's your pay information for the week. Please review." & vbCrLf & vbCrLf & _</p><p>"Please store this information in a safe place." & vbCrLf & vbCrLf & _</p><p>"Regards, " & vbCrLf & _</p><p>"Mgmt"</p><p></p><p>Dim OutApp As Object</p><p>Dim objMsg As MailItem</p><p> </p><p>Set OutApp = OutlookApp()</p><p>Set objMsg = OutApp.CreateItem(olMailItem)</p><p> </p><p>With objMsg</p><p> .To = EmailAddress</p><p> .Subject = "Pay Information"</p><p> '.Categories = "Test"</p><p> .Body = messageBody</p><p> .Attachments.Add FilePathtoAdd</p><p> '.Display 'use .display to send it automatically</p><p> .Send 'to send it automatically</p><p> </p><p>End With</p><p></p><p>Set objMsg = Nothing</p><p>Set OutApp = Nothing</p><p></p><p></p><p></p><p>End Sub</p></blockquote><p></p>
[QUOTE="soori19, post: 29909897, member: 560959"] Mama godak issara liwwe me program eka. Main module eka oyage sheet ekata galapena widiyata wenas karala ganna. #Const LateBind = True Const olMinimized As Long = 1 Const olMaximized As Long = 2 Const olFolderInbox As Long = 6 #If LateBind Then Public Function OutlookApp( _ Optional WindowState As Long = olMinimized, _ Optional ReleaseIt As Boolean = False _ ) As Object Static o As Object #Else Public Function OutlookApp( _ Optional WindowState As Outlook.OlWindowState = olMinimized, _ Optional ReleaseIt As Boolean _ ) As Outlook.Application Static o As Outlook.Application #End If On Error GoTo ErrHandler Select Case True Case o Is Nothing, Len(o.Name) = 0 Set o = GetObject(, "Outlook.Application") If o.Explorers.Count = 0 Then InitOutlook: 'Open inbox to prevent errors with security prompts o.Session.GetDefaultFolder(olFolderInbox).Display o.ActiveExplorer.WindowState = WindowState End If Case ReleaseIt Set o = Nothing End Select Set OutlookApp = o ExitProc: Exit Function ErrHandler: Select Case Err.Number Case -2147352567 'User cancelled setup, silently exit Set o = Nothing Case 429, 462 Set o = GetOutlookApp() If o Is Nothing Then Err.Raise 429, "OutlookApp", "Outlook Application does not appear to be installed." Else Resume InitOutlook End If Case Else MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical, "Unexpected error" End Select Resume ExitProc Resume End Function #If LateBind Then Private Function GetOutlookApp() As Object #Else Private Function GetOutlookApp() As Outlook.Application #End If On Error GoTo ErrHandler Set GetOutlookApp = CreateObject("Outlook.Application") ExitProc: Exit Function ErrHandler: Select Case Err.Number Case Else 'Do not raise any errors Set GetOutlookApp = Nothing End Select Resume ExitProc Resume End Function Sub Main() Dim WS_Main As Worksheet Dim WS_New As Worksheet Dim WS_Template As Worksheet Dim i As Long Dim WS_Main_ColA_LastRow As Long Dim EAddress As String Dim AttachmentPath As String Set WS_Main = ActiveSheet Set WS_Template = Worksheets("TemplateSheet") 'Find last row of column A With WS_Main WS_Main_ColA_LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row End With WS_Template.Visible = True 'On Error GoTo ErrorHandler: For i = 4 To WS_Main_ColA_LastRow If StrComp(Trim(WS_Main.Range("AD" & i).Value), "Do not send email", vbTextCompare) <> 0 Then 'Create a copy of the template sheet WS_Template.Copy After:=Sheets(Sheets.Count) 'Sheets("Oct 24, 2015").Select Set WS_New = ActiveSheet 'START DATE and END DATE WS_Main.Activate Range("B1:C1").Select Selection.Copy WS_New.Select WS_New.Range("D9").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Pay date WS_Main.Activate Range("F1").Select Selection.Copy WS_New.Select WS_New.Range("F9").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Name WS_Main.Activate Range("T" & i).Select Selection.Copy WS_New.Select WS_New.Range("B11").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Percent and Payment:JMD WS_Main.Activate Range("U" & i & ":V" & i).Select Selection.Copy WS_New.Select WS_New.Range("E11").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'remaing values WS_Main.Activate Range("W" & i & ":AA" & i).Select Selection.Copy WS_New.Select WS_New.Range("F15").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=True WS_Main.Activate Range("AC" & i).Select Selection.Copy WS_New.Select WS_New.Range("C18").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False WS_New.Range("A1").Select WS_New.Name = "Paystub_" & WS_New.Range("B11").Value Call SavePdf(WS_New) DoEvents '*** EAddress = WS_Main.Range("AB" & i).Value AttachmentPath = ThisWorkbook.Path & "\" & _ Trim(WS_Main.Range("T" & i).Value) & "_" & Month(CDate(WS_Main.Range("F1").Value)) & "_" _ & Day(CDate(WS_Main.Range("F1").Value)) & "_" & Year(CDate(WS_Main.Range("F1").Value)) & ".pdf" Call SendEmail(EAddress, AttachmentPath) DoEvents '*** Application.DisplayAlerts = False WS_New.Delete Application.DisplayAlerts = True End If Next i 'ErrorHandler: Worksheets("TemplateSheet").Visible = xlVeryHidden If Err = 0 Then MsgBox "Completed", vbInformation, "" Else MsgBox "Error occured!", vbCritical, "warning!" End If End Sub Sub SavePdf(WS As Worksheet) 'Dim WS As Worksheet 'Set WS = Worksheets("Paystub") WS.PageSetup.Orientation = xlLandscape FilePath = ThisWorkbook.Path WS.Select Dim fileName As String fileName = Trim(WS.Range("B11").Value) & "_" & Month(CDate(WS.Range("F9").Value)) & "_" & _ Day(CDate(WS.Range("F9").Value)) & "_" & Year(CDate(WS.Range("F9").Value)) 'MsgBox Month(CDate(Range("F9").Value)) 'MsgBox Day(CDate(Range("F9").Value)) 'MsgBox Year(CDate(Range("F9").Value)) ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=ThisWorkbook.Path & "\" & fileName & ".pdf", _ Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False 'MsgBox "Completed", vbInformation, "" End Sub Sub MyMacroThatUseOutlook() Dim OutApp As Object Set OutApp = OutlookApp() 'Automate OutApp as desired End Sub Sub SendEmail(EmailAddress As String, FilePathtoAdd As String) Dim messageBody As String messageBody = "Hi," & vbCrLf & vbCrLf & _ "Here 's your pay information for the week. Please review." & vbCrLf & vbCrLf & _ "Please store this information in a safe place." & vbCrLf & vbCrLf & _ "Regards, " & vbCrLf & _ "Mgmt" Dim OutApp As Object Dim objMsg As MailItem Set OutApp = OutlookApp() Set objMsg = OutApp.CreateItem(olMailItem) With objMsg .To = EmailAddress .Subject = "Pay Information" '.Categories = "Test" .Body = messageBody .Attachments.Add FilePathtoAdd '.Display 'use .display to send it automatically .Send 'to send it automatically End With Set objMsg = Nothing Set OutApp = Nothing End Sub [/QUOTE]
Insert quotes…
Verification
Hath warak paha keeyada? (hatha wadikireema paha)
Post reply
Top
Bottom