Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как открыть файл Excel в котором включен защищенный режим? / 4 сообщений из 4, страница 1 из 1
07.11.2015, 16:48
    #39097279
Amateur284
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как открыть файл Excel в котором включен защищенный режим?
Доброго времени суток!
Заранее прошу прощения за тривиальный вопрос, но ответ на него я так и не смог найти.

При попытке открыть файл Excel (с включенным защищенным режимом) вылетает исключение "Система Office обнаружила проблему с этим файлом. Чтобы обеспечить защиту компьютера, этот файл не будет открыт."

Файл без проблем открывается самим Excel, после чего, если его сохранить то он становится "нормальным" и его без труда можно открыть программно, но так как таких файлов будет много это не приемлемо. Можно ли сразу открыть его программно?
Проблемный код:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
using System;
using System.Windows;
using System.Windows.Controls;
using Microsoft.Win32;
using Application = Microsoft.Office.Interop.Excel.Application;

namespace IntWE
{
    public partial class MainWindow : Window
    {
        private Application _exApp;

        public MainWindow()
        {
            InitializeComponent();

            _exApp = new Application();
            CreateContent();
        }
        
        private void OpenExcelFile(String filePath)
        {
            try
            {
                _exApp.Workbooks.Open(filePath);
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
                /*  
                    Будет показано следующее сообщение:
                    "Система Office обнаружила проблему с этим файлом. Чтобы обеспечить
                    защиту компьютера, этот файл не будет открыт."
                */
            } 
        }


Второстепенный код:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
        private void BtnOpen_OnClick(object sender, RoutedEventArgs routedEventArgs)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog
            {
                Multiselect = true,
                CheckFileExists = true,
                CheckPathExists = true,
                InitialDirectory = @"F:\_CSharp-Excel interaction"
            };

            if (openFileDialog.ShowDialog() == false) return;
            OpenExcelFile(openFileDialog.FileName);
        }

        private void CreateContent()
        {
            Button btn = new Button
            {
                Content = "Open exel file"
                , VerticalAlignment = VerticalAlignment.Center
                , HorizontalAlignment = HorizontalAlignment.Center
            };
            btn.Click += BtnOpen_OnClick;
            Content = btn;
        }

    }
}

...
Рейтинг: 0 / 0
07.11.2015, 21:08
    #39097377
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как открыть файл Excel в котором включен защищенный режим?
Amateur284,

Присмотритесь внимательно ко всем параметрам метода Workbooks.Open. Есть там такой параметр: CorruptLoad. Попробуйте открывать, установив для него xlRepairFile.
...
Рейтинг: 0 / 0
08.11.2015, 02:51
    #39097466
Amateur284
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как открыть файл Excel в котором включен защищенный режим?
The_Prist, не помогло - то же самое исключение.
...
Рейтинг: 0 / 0
08.11.2015, 12:12
    #39097535
Amateur284
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как открыть файл Excel в котором включен защищенный режим?
Нашел решение на stack overflow

private void OpenExcelFile(String filePath)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
{
    try
    {
        _exApp.FileValidation = Microsoft.Office.Core.MsoFileValidationMode.msoFileValidationSkip; // Так все работает
        Workbook workbook = _exApp.Workbooks.Open(filePath);
        _exApp.Visible = true;
    }
    catch (Exception ex) { MessageBox.Show(ex.Message); } 
}

...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как открыть файл Excel в котором включен защищенный режим? / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]