めも

主にUnity

ExcelからWord用オートコレクトをインポートするVSTOアドイン作った

ういー

using ClosedXML.Excel;
namespace MathAddin1 {
    public partial class ThisAddIn {

      public void ImportAutoCorrectEntries() {
            var doc = this.Application.ActiveDocument;
            var entries = Application.OMathAutoCorrect.Entries;

            MessageBox.Show("2つのテキストファイルから数式オートコレクトをインポートします。");
            OpenFileDialog ofd = new OpenFileDialog() { Title = "names", InitialDirectory = doc.Path };
            if (ofd.ShowDialog() == DialogResult.OK) {
            }
            else {
                MessageBox.Show("ファイル選択に失敗しました。");
                return;
            }

            XLWorkbook workbook = new XLWorkbook();
            try {
                workbook = new XLWorkbook(ofd.FileName);
            }
            catch (Exception e) {
                MessageBox.Show(e.ToString());
                return;
            }

            IXLWorksheet worksheet = workbook.Worksheet(1);
            int lastRow = worksheet.LastRowUsed().RowNumber();
            for (int i = 1; i <= lastRow; i++) {
                string name  = worksheet.Cell(i, 1).Value.ToString();
                string value = worksheet.Cell(i, 2).Value.ToString();
                try {
                    entries.Add(name, value);
                }
                catch(Exception e) {
                    MessageBox.Show(e.ToString());
                }
            }

            MessageBox.Show($"{lastRow}個の数式オートコレクトを追加しました。");
        }
}