Пример #1
0
        public void SetCircuitGenerator()
        {
            if (!CheckCircuitGenerator())
            {
                Microsoft.Office.Core.DocumentProperties properties = Globals.ThisAddIn.Application.ActiveWorkbook.BuiltinDocumentProperties;
                Microsoft.Office.Core.DocumentProperty   prop;
                prop = properties["Tag"];

                prop.Value = "CircuitGenerator";
            }
        }
Пример #2
0
        /// <summary>
        /// Копирование свойств из документа в документ
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonRight_Click(object sender, EventArgs e)
        {
            // Документ-приемник
            ListItem <Document> doc2 = (ListItem <Document>)comboDoc2.SelectedItem;

            // Список свойств документа-приемника
            Microsoft.Office.Core.DocumentProperties props = doc2.Item.CustomDocumentProperties;

            // Обработка только выбранных полей
            foreach (ListItem <Microsoft.Office.Core.DocumentProperty> item in listFields1.CheckedItems)
            {
                try
                {
                    // Копирование свойства
                    props.Add(item.Item.Name, item.Item.LinkToContent, item.Item.Type, item.Item.Value);
                }
                catch (System.Runtime.InteropServices.COMException ex)
                {
                    if (ex.ErrorCode == -2147467259)
                    {
                        // Свойство уже существует, повторное добавление невозможно
                        switch (MessageBox.Show($"Свойство '{item.Item.Name}' уже существует. Перезаписать?", "Копирование свойств", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question))
                        {
                        case DialogResult.Yes:
                            // [!] надо перезаписать свойство, но я пока не знаю как это сделать
                            break;

                        case DialogResult.No:
                            // Намеренно ничего не делаем
                            break;

                        case DialogResult.Cancel:
                            return;

                        default:
                            throw new Exception("Ну так не бывает!");
                        }
                    }
                    else
                    {
                        throw ex;
                    }
                }
            }

            // Обновление списка
            comboDoc_SelectedIndexChanged(comboDoc2, null);
        }
Пример #3
0
        private void SetTimeLIMITButton_Click(object sender, RibbonControlEventArgs e)
        {
            Microsoft.Office.Interop.PowerPoint.Presentation PPT       = Globals.ThisAddIn.Application.ActivePresentation;
            Microsoft.Office.Core.DocumentProperties         oCusProps = PPT.CustomDocumentProperties;
            bool TimeSetted = false;

            foreach (Microsoft.Office.Core.DocumentProperty oCusProp in oCusProps)
            {
                if (oCusProp.Name == "TIMELIMIT")// MessageBox.Show( oCusProp.Name);
                {
                    TimeSetted = true;
                    System.Windows.MessageBox.Show(String.Format("{0:f}min", oCusProp.Value));
                }
            }

            if (!TimeSetted)
            {
                oCusProps.Add("TIMELIMIT", false, Microsoft.Office.Core.MsoDocProperties.msoPropertyTypeFloat, 5F, false);
            }
        }