Tuesday, November 20, 2012

Opening a new window and Login In using Internet Explore Using MS Excel VBA

Using excel VBA you can open IE Window and login in it. Following are the details for this operation.

Opening Internet Explore through excel VBA
1)      Some references should be added as follows:- These are already available in excel
a.      Microsoft HTML Object Library
b.      Microsoft Internet Controls
c.      Microsoft Forms 2.0 Object Library

2)      Code is as follow:-
             
               Dim sURL As String
              
' set url for opening here
               sURL = " http://infoenginesol.blogspot.in/"

               Set oBrowser = New InternetExplorer
               IEBrowser.Silent = True ‘if you want to open browser in silent mode
               IEBrowser.timeout = 60 ‘optionally set timeout for loading site
               IEBrowser.navigate sURL
               IEBrowser.Visible = True
              
               ' Following code will wait till Browser is loaded
              
                              Do

                              Loop Until oBrowser.readyState = READYSTATE_COMPLETE

               ‘wait included to wait till application is completed
               Application.Wait (Now + TimeValue("0:00:20"))
              
‘ for automatically login into site. On this blog you may not login, but for other site, it can be done ;-)
‘For searching proper control use “Right Click” and then “View Source”.
‘Search for word “login” or “password”. This is the way I found it; you have to search through browser source.

               Set HTMLDoc = IEBrowser.document

               HTMLDoc.all.LOGINCtrl<Use your control>.Value = “My Login”
               HTMLDoc.all.PasswordCtrl<Use your control>.Value =  “My Password”

               HTMLDoc.all("Submit_Button").Click

Application.Wait (Now + TimeValue("0:00:50"))

‘ if you want to quit after completing operation then use following or comment it
IEBrowser.Quit

Friday, November 9, 2012

Get Column heading/name of selected cell through VBA (Excel)

In VBA, For getting the column heading/name of a selected cell  i.e. Column "A" or Column "B" use below code in macro.

CurCol = Split(ActiveCell.Address, "$")(1)

SharePoint 2010: Display Image in List on MouseOver

In SharePoint 2010, Sometimes Picture is shown in lists using "Picture" Column , but it does not look good if picture size is large; instead we can have image preview on the hyperlink in the list by hovering the mouse,

Click on below link to see awesome solution by Alexander Bautz .

https://www.nothingbutsharepoint.com/sites/eusp/Pages/sharepoint-image-preview-on-hover-over-a-hyperlink-field.aspx

Monday, November 5, 2012

Removing unprintable, unreadable character (Replace ASCII Characters from Excel WorkSheet)



Removing unwanted, unprintable characters in a Cell in Excel!!
We copy and paste data from web source into excel and use it for further detailing, analysis using excel. Data of teams, districts, states when copied from web, it could have some unprintable, non-viewable ascii characters within Cell. Due to such character presence excels functions such as vlookup, hlookup, search, find, countif fails to give accurate and reliable result. We can consider following approaches to solve our problem:-


  1. Enable Macros 
  2. Open VBE using Alt + F11
  3. Insert Module 
  4. Paste Below Code
---------------------------------------------------------------------------------
Option Explicit

Dim Currow, LastRow, LastCol As Integer
Dim Curcol As String


Sub Remove_NonPrintable_Characters()
Application.ScreenUpdating = False

 If Range("A1").Value <> "" Then
        LastCol = Range("IV1").End(xlToLeft).Column
        LastRow = Cells(Rows.Count, "A").End(xlUp).Row
        
        Range("A1").Select
     Do
        Curcol = Split(ActiveCell.Address, "$")(1)
        Do
            Currow = Selection.Cells.Row
            Range(Curcol & Currow).Value = removeall(Range(Curcol & Currow).Value)
            ActiveCell.Offset(1, 0).Select
        Loop Until Currow >= LastRow
            ActiveCell.Offset((0 - Currow), 1).Select
     Loop Until Selection.Cells.Column > LastCol
    End If
    
Application.ScreenUpdating = True
End Sub

Public Function removeall(CellValue As String) As String
Dim ErrChar As Integer
Dim NewVal As String
Dim i As Integer

For i = 1 To Len(CellValue)
    
    ErrChar = Asc(Mid(CellValue, i, 1))
    
    Select Case ErrChar
        Case Is < 91 And ErrChar > 64
            NewVal = NewVal & Chr(ErrChar)
        Case Is < 123 And ErrChar > 96
            NewVal = NewVal & Chr(ErrChar)
        Case Is = 32
            NewVal = NewVal & Chr(ErrChar)
        Case Is < 59 And ErrChar > 44
            NewVal = NewVal & Chr(ErrChar)
  
    End Select

Next i
removeall = NewVal

End Function

---------------------------------------------------------------------------------

(Click Here for ASCII Table)