Отправка Excel пользователю через ASP.NET - PullRequest
0 голосов
/ 17 сентября 2008

У меня есть веб-приложение, которое может открывать шаблон Excel, помещать данные в рабочую таблицу и отправлять файл пользователю. При открытии файла макрос VBA обновит сводную таблицу на основе данных, которые были вставлены в шаблон.

Пользователь получает стандартный диалог открытия / сохранения файла.

В Internet Explorer (версия 6), если пользователь решает сохранить файл, при открытии файла код VBA работает, как и ожидалось, однако если пользователь выбирает «Открыть», то VBA завершается с ошибкой:

Ошибка времени выполнения 1004: невозможно открыть исходный файл сводной таблицы.

Во всех других браузерах открывайте и сохраняйте работу как положено.

Я не в силах перейти на более новую версию IE (корпоративная бюрократия); Могу ли я что-нибудь сделать, чтобы пользователи могли открываться без предварительного сохранения?

Ответы [ 3 ]

1 голос
/ 17 сентября 2008

Более новые версии Excel действительно не любят запускать макросы автоматически. Если вы действительно хотите сгенерировать файл Excel и отправить его своим пользователям, создайте полный файл на сервере, используя интерфейс COM в Excel, или некоторые библиотеки, которые могут читать / записывать файлы XLS, а затем отправлять готовый файл.

0 голосов
/ 17 сентября 2008

Если бы мне пришлось угадывать, я бы сказал, что это связано с тем, в какой зоне находится файл в данный момент. Вероятно, он все еще считается в "интернет-зоне", когда вы нажимаете Открыть. VBA не должен работать в этой зоне.

Пользователь должен пометить веб-сайт сервера как безопасный (Панель управления -> Свойства обозревателя -> Безопасность -> Надежные сайты -> Сайты) и посмотреть, поможет ли это.

0 голосов
/ 17 сентября 2008

Возможность открыть или сохранить - это элемент выбора браузера, насколько я знаю, невозможно изменить это поведение.

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