Monday, June 16, 2014

How To Get Last Row in Excel VBA code

There are many programmatic way to find last row of data input, but the simplest is....

Dim LastRow 
LastRow = ws.Range("A1").End(xlDown).Row


Wednesday, May 21, 2014

Creating a file name as a Date stamp in a batch File


Source Code line
Dir>C:\myFile_%date:/=%.log

Output File Name
myFile_05212014.log

Friday, April 25, 2014

VBA code for Outlook - Reply Mail With Attachment

May times it happens that you want to Reply some mail with attachment but when you click reply, it removes the attachment from your mail, and you need to attach it manually. Following function will help you to reply mail with attachment.



'''''''''''''''''''''' Reply Module ''''''''''''''''''''''''''
Sub ReplyWithAttachments()  ' For Only single Reply
    Dim rpl As Outlook.MailItem
    Dim itm As Object
     
    Set itm = GetCurrentItem()
    If Not itm Is Nothing Then
        Set rpl = itm.Reply
        CopyAttachments itm, rpl
        rpl.Display
    End If
     
    Set rpl = Nothing
    Set itm = Nothing
End Sub
 
Sub ReplyALLWithAttachments()   ' For Reply ALL
    Dim rpl As Outlook.MailItem
    Dim itm As Object
     
    Set itm = GetCurrentItem()
    If Not itm Is Nothing Then
        Set rpl = itm.ReplyAll
        CopyAttachments itm, rpl
        rpl.Display
    End If
     
    Set rpl = Nothing
    Set itm = Nothing
End Sub

Sub ReplyOnly()  ' For Only Reply without Body message
    Dim rpl As Outlook.MailItem
    Dim itm As Object
    Set itm = GetCurrentItem()
    If Not itm Is Nothing Then
        Set rpl = itm.Reply
        rpl.subject = itm.subject
        rpl.Display
'        rpl.HTMLBody = rpl.HTMLBody

    SendKeys "^f"
    SendKeys "From:"
    SendKeys "{Enter}"
    SendKeys "{Esc}"
    SendKeys "{Home}"
    SendKeys "^+{End}"
    SendKeys "{Del}"
    SendKeys "^{Home}"
    
    End If
     
    Set rpl = Nothing
    Set itm = Nothing
End Sub

Function GetCurrentItem() As Object ' Will Create object for the current selected One mail
    Dim objApp As Outlook.Application
         
    Set objApp = Application
    On Error Resume Next
    Select Case TypeName(objApp.ActiveWindow)
        Case "Explorer"
            Set GetCurrentItem = objApp.ActiveExplorer.Selection.Item(1)
        Case "Inspector"
            Set GetCurrentItem = objApp.ActiveInspector.CurrentItem
    End Select
     
    Set objApp = Nothing
End Function
 
Sub CopyAttachments(objSourceItem, objTargetItem)   ' Coping the Attachment if exist.
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set fldTemp = fso.GetSpecialFolder(2) ' TemporaryFolder
   strPath = fldTemp.Path & "\"
   For Each objAtt In objSourceItem.Attachments
      strFile = strPath & objAtt.FileName
      objAtt.SaveAsFile strFile
      objTargetItem.Attachments.Add strFile, , , objAtt.DisplayName
      fso.DeleteFile strFile
   Next
 
   Set fldTemp = Nothing
   Set fso = Nothing
End Sub

'''''''''''''''''''''' End of Reply Module '''''''''''''''''''''''''''''''''''''''''''

VBA code for Outlook - Forward Mail Without Attachment

May times it happens that you want to forward some mail without attachment that you received with attachments, and you need to delete manually. Following function will help you to remove the attachment while you send mail to someone.

Sub ForwardMailWithoutAttachment() 
 On Error GoTo ErrorHandler
    Dim obj As Object
    Dim msg As Outlook.MailItem
    Dim newMsg As Outlook.MailItem
    Dim subject As String
    Dim myattachments As Outlook.Attachments
    
     ' check for multiple selections
    If ActiveExplorer.Selection.Count > 1 Then
        MsgBox "please select one email only"
        GoTo ProgramExit
    End If
     
    Set obj = ActiveExplorer.Selection.Item(1)
    If Not obj Is Nothing Then
        If TypeName(obj) = "MailItem" Then
            Set msg = obj
            Set newMsg = msg.Forward
            subject = obj.subject ' Copy the selected Mail Subject
            If Len(subject) = 0 Then
                GoTo ProgramExit
            End If
            
            '########### To Remove the Attachment ##############
            Set myattachments = newMsg.Attachments
            While myattachments.Count > 0
                       myattachments.Remove 1
            Wend
            '###########################################
            With newMsg
                .subject = subject
                .Display
            End With
        Else
            MsgBox "Cannot Run this Macro. Invalid Selection of Mail."
            GoTo ProgramExit
        End If
    End If
ProgramExit:
    Exit Sub
ErrorHandler:
    MsgBox Err.Number & " - " & Err.Description
    Resume ProgramExit

End Sub

Friday, January 31, 2014

lotus formula to Extract One Value from Text List.

Extract 1 Value from Text List:
Normally when trying to extract a particular value from a text list, you would use Script and extract the value with the array(index), but there is a simple way to do this with formula language For this to work, you must know which value you wish to retrieve, ie.. what number the value is in the list. Use @Subset to get your desired results. This example uses a nested @Subset with another @Subset.

For example:
If the field you are wanting to extract the value from is, Rakesh, Sunny, Bhavin, Rajesh, Jathin, Kuti and you want to extract the value "Rajesh" from the list, use the following in another field:
Eg:
Here fieldname is Friends
@Subset(@Subset(Friends;4);-1)

This first gets the value of the first 4 entries in the list, then extracts the last value from that list giving you the desired result "Rajesh", since Rajesh is the 4th value in the 1st list, and the last in the second.

Find the position of text Value in Text List:

Here, you can use @Member(value ; list) lotus notes formula function. That determines the position of a value in a string list.

Eg:
position := @Member("Rajesh";Friends)

This formula will return no 4 to the "position" variable.

Saturday, January 11, 2014

Refresh Lotus Notes Document with LotusScript


Will work for Refreshing the document.
Below script will (Open -> Edit - Save-> Close) the selected document from the view.

Sub Click(Source As Button)
Dim session As New NotesSession 
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim uidoc As NotesUIDocument 
Dim ws As New NotesUIWorkspace 

Dim j As Integer

Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments

For j = 1 To collection.Count
Set doc = collection.GetNthDocument( j )
Set uidoc = ws.EditDocument(True,doc)
Call uidoc.Refresh
Call uidoc.Save 
Call uidoc.Close 
Next
End Sub

Tuesday, January 7, 2014

Find and Replace a Line Break Character in EXCEL

When you want to create a line break (line feed) in a cell, you press Alt + Enter, to start a new line. You can put one or more line breaks in a cell, to make the contents easier to read.

Find a Line Break
Line breaks are easy to add, but a little trickier to remove.

To find specific text in Excel, you can use Ctrl + F to open the Find and Replace dialog box. However, if you try to type Alt + Enter in the Find What box, you’ll just hear a beep from your computer. Excel won’t let you enter that shortcut.
Instead of using Alt + Enter in the Find What box, you can use a special shortcut -- Ctrl + J -- to enter a line break.
A line break is character 10 in the ASCII character set, and the Ctrl + J shortcut is the ASCII control code for character 10.

Find and Replace a Line Break
To replace a line break with a space character:

  • Select the cells that you want to search
  • On the keyboard, press Ctrl + H to open the Find and Replace dialog box, with the Replace tab active
  • Click in the Find What box
  • On the keyboard, press Ctrl + J to enter the line break character -- NOTE: Nothing will appear in the Find What box
  • Press the Tab key on the keyboard, to move to the Replace With box
  • Type a space character
  • Click Find Next or Find All, to find the cells with line breaks.
  • Click Replace or Replace All, to replace the line breaks with space characters.