Smrf.NodeXL.ExcelTemplate.ImportFromWorkbookDialog.TryGetSourceWorkbookNonEmptyRange C# (CSharp) Method

TryGetSourceWorkbookNonEmptyRange() protected method

protected TryGetSourceWorkbookNonEmptyRange ( Range &oNonEmptyRange ) : System.Boolean
oNonEmptyRange Range
return System.Boolean
    TryGetSourceWorkbookNonEmptyRange
    (
        out Range oNonEmptyRange
    )
    {
        AssertValid();

        oNonEmptyRange = null;

        Debug.Assert(lbxSourceWorkbook.Items.Count > 0);

        String sSourceWorkbookName = (String)lbxSourceWorkbook.SelectedItem;

        Object oSourceWorksheetAsObject;

        try
        {
            oSourceWorksheetAsObject =
                m_oDestinationNodeXLWorkbook.Application.Workbooks[
                    sSourceWorkbookName].ActiveSheet;
        }
        catch (COMException)
        {
            // This occurred once.

            oSourceWorksheetAsObject = null;
        }

        if ( oSourceWorksheetAsObject == null ||
            !(oSourceWorksheetAsObject is Worksheet) )
        {
            this.ShowWarning( String.Format(

                WorkbookImporterBase.SourceWorkbookSheetIsNotWorksheetMessage
                ,
                sSourceWorkbookName
                ) );

            return (false);
        }

        Worksheet oSourceWorksheet = (Worksheet)oSourceWorksheetAsObject;

        if ( !ExcelUtil.TryGetNonEmptyRangeInWorksheet(oSourceWorksheet,
            out oNonEmptyRange) )
        {
            this.ShowWarning( String.Format(

                "The selected worksheet in {0} is empty.  It has no columns"
                + " that can be imported."
                ,
                sSourceWorkbookName
                ) );

            return (false);
        }

        return (true);
    }