C # Excel Interop предотвращает появление окна Excel - PullRequest
0 голосов
/ 18 декабря 2018

Я создаю приложение ac #, которое выполняет некоторые вычисления в файле Excel, загружаемом Excel Interop.

Я использую это для открытия файла Excel с помощью этой функции:

private Workbook OpenExcelFile(String path, String password = null)
    {
        if(!File.Exists(path))
        {
            MessageBox.Show("Error loading" + path);
        }

        if (null == excel)
        {
            excel = new Application();
        }
        excel.Visible = false;

        Workbook wb = null;
        if (password != null)
        {
            wb = excel.Workbooks.Open(path, ReadOnly: true, Password: password);
            return wb;
        }

        wb = excel.Workbooks.Open(path, ReadOnly: true);
        return wb;
    }

Затем я могу использовать рабочую книгу в приложении.как это OpenExcelFile("file.xlsx", "Password")

Когда я открываю скомпилированный exe-файл, я вижу новый экземпляр Excel.exe в диспетчере задач, который в порядке, но окно Excel не отображается.

Теперь у меня проблемный случай: я использую Excel 2010 и делаю это:

Я создаю новый файл Excel на рабочем столе и открываю его.Теперь на панели задач видны не 1, а 2 Windows Excel.первый - «новый файл Excel», второй - «file.xlsx», который используется программным обеспечением и не должен быть видимым для пользователя, поскольку он содержит некоторую секретную бизнес-логику, которую мы не хотим, чтобы пользователь знал.Я также могу использовать кнопку переключения между листами Excel в Excel, чтобы увидеть «секретный» файл Excel.Также лист Excel разблокирован.Нет необходимости вводить пароль.

Когда я делаю то же самое с Excel 365, открывается только «Новый файл Excel».Я не вижу скрытый файл Excel и не вижу никакого контента.Я не прокомментировал, чтобы открыть файл или что-нибудь.Файл «file.xlsx» мне не виден.

Так что мой вопрос:

Есть ли способ предотвратить отображение файла в Excel 2010. Есть ли способ сделатьфайл даже виден в Excel 365 без ввода пароля.Это также было бы плохой ситуацией для нас.

О, я знаю об этом: Запрет Workbooks.Open () сделать Excel видимым в проводнике Windows

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...