Пример #1
0
        public WorkbookContext GetWorkBookContext(Excel.Workbook workbook)
        {
            if (null == workbook)
            {
                throw new ArgumentNullException("workbook");
            }

            bool            isNotCurrent    = false;
            WorkbookContext workbookContext = null;

            if (null == this.currentWorkbookContext)
            {
                isNotCurrent = true;
            }
            else if (this.currentWorkbookContext.Id != WorkbookContext.GetContextId(workbook))
            {
                isNotCurrent = true;
            }

            if (isNotCurrent)
            {
                workbookContext = new WorkbookContext(workbook);
            }
            else
            {
                workbookContext = this.currentWorkbookContext;
                workbookContext.Update();
            }

            return(workbookContext);
        }
Пример #2
0
        private void Purge()
        {
            var now = DateTime.Now;

            if ((now - this.purgeTime).TotalHours < 1)
            {
                return;
            }

            this.purgeTime = now;

            foreach (Excel.Workbook workbook in App.Excel.Workbooks)
            {
                var workbookContextId = WorkbookContext.GetContextId(workbook);

                if (!this.dic.ContainsKey(workbookContextId))
                {
                    this.dic.Remove(workbookContextId);
                }
            }
        }