#excel #vba #asp-classic
#excel #vba #asp-классический
Вопрос:
Я пытаюсь открыть excelsheet с помощью traditionell ASP. Что я делаю, так это то, что я создаю экземпляр объекта Excel с помощью Set excelApp = server.createobject(«excel.application»)
Затем мне удается открыть рабочий лист и распечатать его, единственная проблема заключается в том, что шрифты, используемые на листе, не совпадают при печати листа, я имею в виду, что шрифт, выбранный на листе, не тот, который при печати листа, я не знаю, какой шрифт он на бумаге, когда печатается.печатается описанным выше способом.. Если я физически открою рабочий лист с помощью interaction и распечатаю его, все шрифты будут такими, как должны, но при открытии скриптом asp и распечатке его другим шрифтом?
Кто-нибудь знает, что происходит при открытии excelsheet инстансами, какой пользователь запускает приложение, влияет ли это в любом случае на шрифт, выбранный для листа?
С наилучшими пожеланиями..
Комментарии:
1. Что значит «шрифты не совпадают?» Можете ли вы быть более конкретным? Пожалуйста, отредактируйте свой вопрос.
2. @Joel Spolsky Я попытался объяснить это немного лучше
Ответ №1:
Это зависит от того, как у вас настроен IIS и под какой учетной записью IIS создает объект приложения Excel. Иногда это так же просто, как учетная запись IIS (которая может быть IUSR_machinename), но иногда она основана на всевозможных запутанных материалах пула приложений, которые я даже не претендую на понимание.
У Microsoft есть пример кода VBA, который получает идентификатор текущего пользователя. Вы можете попробовать запустить это из Excel как пользователь и Excel как объект и посмотреть, что происходит.
Комментарии:
1. да, у меня было много проблем с правами и пользователем witch для запуска объекта dcom (excel) и т. Д.. Это я решил, и я также изменил учетную запись IIS, чтобы все страницы выполнялись от имени администратора, того же пользователя, с которым я вхожу в систему.. Но это должно работать, если пользователь, выбранный в IIS, является единственным исполняющим объектом? Я собираюсь попробовать пример, который вы мне дали.. Спасибо.