Exemple #1
0
 private void Parse()
 {
     Logger.Info("Parse: Target: \"{0}\"", Target);
     Reference   = new Excel.Models.Reference(Target);
     IsReference = Reference.IsValid;
     if (!String.IsNullOrEmpty(Target))
     {
         if (_genericUrlPattern.Value.IsMatch(Target))
         {
             Logger.Info("Parse: Detected generic URL pattern, prepending http://");
             _target = "http://" + _target;
         }
         try
         {
             Uri      = new Uri(Target);
             IsFile   = !IsReference && Uri.IsFile;
             IsWebUrl = !IsReference && Uri.IsWellFormedOriginalString() && !Uri.IsFile;
         }
         catch (Exception e)
         {
             Logger.Warn("Parse: Failed to create Uri object");
             Logger.Warn(e);
         }
     }
     else
     {
         IsFile   = false;
         IsWebUrl = false;
         Uri      = null;
     }
     CanJump = (IsReference || IsFile || IsWebUrl);
     Logger.Debug("Parse: IsReference: {0}, IsFile: {1}, IsWebUrl: {2}, CanJump: {3}",
                  IsReference, IsFile, IsWebUrl, CanJump);
 }
Exemple #2
0
        static void StoreOrRestoreCsvSelection()
        {
            SelectionViewModel svm = new SelectionViewModel(Instance.Default.Application);

            if (svm.IsRange)
            {
                Logger.Info("RestoreLastCsvSelection: Current selection is range");
                Excel.Models.Reference reference = new Excel.Models.Reference(svm.Range);

                // If there currently is no range selection (only 1 cell selected), restore the previously
                // saved range.
                if (reference.CellCount == 1)
                {
                    Logger.Info("RestoreLastCsvSelection: Selection is a single cell: Attempting to restore");
                    using (WorkbookStorage.Store store = new WorkbookStorage.Store(true))
                    {
                        reference.ReferenceString = store.Get(XLToolbox.Properties.StoreNames.Default.CsvRange, String.Empty);
                        if (reference.IsValid)
                        {
                            Logger.Info("RestoreLastCsvSelection: Activating the range");
                            reference.Activate();
                        }
                        else
                        {
                            Logger.Warn("RestoreLastCsvSelection: Invalid reference");
                        }
                    }
                }
                else
                {
                    Logger.Info("RestoreLastCsvSelection: Selection is range of cells: Storing");
                    using (WorkbookStorage.Store store = new WorkbookStorage.Store(true))
                    {
                        store.Put(XLToolbox.Properties.StoreNames.Default.CsvRange, "=" + reference.ReferenceString);
                    }
                }
            }
            else
            {
                Logger.Info("RestoreLastCsvSelection: Current selection is not a range");
            }
        }