Пример #1
0
        public void readGroupUsersMembershipIntoWorksheet(Excel.Application xls, string strDoWhat)
        {
            #region [Declare and instantiate variables for process]
            myData = myData.LoadMyData();               // read data from settings file

            bool boolDisplayInitialMessage  = myData.ProduceInitialMessageBox;
            bool boolDisplayCompleteMessage = myData.ProduceCompleteMessageBox;
            bool booltimeTaken     = myData.DisplayTimeTaken;
            bool boolTurnOffScreen = myData.TurnOffScreenValidation;
            bool boolTestCode      = myData.TestCode;

            #endregion

            #region [Declare and instantiate variables for worksheet/book]
            // get worksheet name
            Excel.Workbook  Wkb = xls.ActiveWorkbook;
            Excel.Worksheet Wks;   // get current sheet

            Wks = Wkb.ActiveSheet;
            string strMessage   = "Get Membership of Active Directory Group: ";
            string strGroupName = Wks.Name;

            if (strDoWhat == "ActiveSheet")
            {
                strGroupName = Wks.Name;
                strMessage   = strMessage + strGroupName + LF + "into this worksheet";
            }
            else
            {
                Excel.Range xlCell = xls.ActiveCell;
                strGroupName = xlCell.Value.ToString();
                strMessage   = strMessage + strGroupName + LF + "into new worksheet";
            }

            #endregion

            #region [Ask to display a Message?]
            DialogResult dlgResult = DialogResult.Yes;


            if (boolDisplayInitialMessage)
            {
                if (booltimeTaken)
                {
                    strMessage = strMessage + LF + " and display the time taken";
                }

                dlgResult = MessageBox.Show(strMessage + "?", "Active Directory", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
            }

            #endregion


            #region [Start of work]
            if (dlgResult == DialogResult.Yes)
            {
                if (boolTurnOffScreen)
                {
                    CommonExcelClasses.turnAppSettings("Off", xls, myData.TestCode);
                }

                DateTime dteStart = DateTime.Now;


                if (strDoWhat == "SheetName")
                {
                    CommonExcelClasses.zapWorksheet(Wks);
                }
                else
                {
                    int i = 1;

                    string strSheetName = strGroupName;
                    while (CommonExcelClasses.WorksheetExist(Wkb, strSheetName))
                    {
                        // for (int i = 1; i <= 10; i++)

                        strSheetName = strGroupName + "-0" + i.ToString();
                        i++;
                    }
                    if (!CommonExcelClasses.WorksheetExist(Wkb, strSheetName))
                    {
                        // do a loop here checking for a free or unused name
                        Wks      = Wkb.Worksheets.Add(Type.Missing, Wkb.Worksheets[Wkb.Worksheets.Count], 1, XlSheetType.xlWorksheet);
                        Wks.Name = strSheetName;
                        Wks.Select(true);
                    }
                }


                getGroupUserMembership(Wks, strGroupName);

                writeHeaders(Wks, "ADUsers", false);
                CommonExcelClasses.sortSheet(Wks, 2);

                if (boolTurnOffScreen)
                {
                    CommonExcelClasses.turnAppSettings("On", xls, myData.TestCode);
                }


                #region [Display Complete Message]
                if (boolDisplayCompleteMessage)
                {
                    strMessage = "";
                    strMessage = strMessage + "Complete ...";

                    if (booltimeTaken)
                    {
                        DateTime dteEnd       = DateTime.Now;
                        int      milliSeconds = (int)((TimeSpan)(dteEnd - dteStart)).TotalMilliseconds;

                        strMessage = strMessage + "that took {TotalMilliseconds} " + milliSeconds;
                    }

                    CommonExcelClasses.MsgBox(strMessage);          // localisation?
                }
                #endregion
            }
            #endregion
        }
Пример #2
0
 private void btnZap_Click(object sender, RibbonControlEventArgs e)
 {
     // Globals.ThisAddIn.zapWorksheet(Globals.ThisAddIn.Application.ActiveWorkbook.ActiveSheet);
     CommonExcelClasses.zapWorksheet(Globals.ThisAddIn.Application.ActiveWorkbook.ActiveSheet);
 }
Пример #3
0
        public void readFolders(Excel.Workbook Wkb)
        {
            Excel.Worksheet Wks;            // instantiate worksheet object
            Wks = Wkb.ActiveSheet;          // point to active sheet

            // custom extended class for browsing folders

            // am needing a folder full of files that will take a while to load
            // how many files?
            //
            // C:\Temp\manyFiles-01
            string strPath;

            strPath = "C:\\Temp\\manyFiles-01";
            // strPath = "c:\\temp\\sfc"""

            FolderBrowserDialogEx cfbd = new FolderBrowserDialogEx()
            {
                Title               = "Please Select Folder ...",
                SelectedPath        = strPath,
                ShowEditbox         = true,
                ShowNewFolderButton = false,
                RootFolder          = Environment.SpecialFolder.Desktop,
                StartPosition       = FormStartPosition.CenterScreen
            };

            // need a yes or no for reading in extra details
            DialogResult dlgReadExtraDetails = askGetExtraDetails();
            bool         boolExtraDetails    = false;

            if (dlgReadExtraDetails == DialogResult.Yes)
            {
                boolExtraDetails = true;
            }

            if (dlgReadExtraDetails == DialogResult.No)
            {
                boolExtraDetails = false;
            }

            // Excel.XlEnableCancelKey.xlInterrupt

            string strWhichColumn = "F";

            if (dlgReadExtraDetails != DialogResult.Cancel)
            {
                if (cfbd.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
                {
                    DateTime dteStart = DateTime.Now;

                    int gintFileCount = 2;

                    // zap the sheet before we start
                    CommonExcelClasses.zapWorksheet(Wks, 1);

                    // string strPath = cfbd.SelectedPath;
                    directorySearch(cfbd.SelectedPath.ToString(), Wks, gintFileCount, boolExtraDetails, false);

                    writeHeaders(Wks, "FILES", boolExtraDetails);


                    DateTime dteEnd       = DateTime.Now;
                    int      milliSeconds = (int)((TimeSpan)(dteEnd - dteStart)).TotalMilliseconds;

                    Wks.Range[strWhichColumn + "1"].Value = milliSeconds + " milliSeconds";
                }
            }

            // MsgBox("Finished ...");
        }