powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP: как запустить приложение под другим логином?
4 сообщений из 4, страница 1 из 1
ASP: как запустить приложение под другим логином?
    #32288212
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в асп коде понадобилось при помощи ворда генерить отчетик.

типа так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Set app = server.CreateObject( "Word.Application" )

With app
	.Documents.Add server.MapPath( "openprj.dot" ),false, 0 ,true
	.Selection.MoveDown wdLine,  2 
	.Selection.TypeText  "мой текст" 
	.Selection.MoveDown wdLine,  2 

... 


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

как запускать word от одного имени пользователя ?
...
Рейтинг: 0 / 0
ASP: как запустить приложение под другим логином?
    #32289099
XGuest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не проще ли переставить ворд так,
чтобы у него в инсталляции
не осталось пунктов типа "установить позднее при необходимости",
это такие желтые пункты

то есть все компоненты должны быть уставлены (белые),
либо на них должен стоять запрет на установку (красный крест)

тогда он не будет поднимать инсталлятор


а где можно подробнее почитать про то,
как можно с офисом из-под asp работать?
...
Рейтинг: 0 / 0
ASP: как запустить приложение под другим логином?
    #32289241
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ворд установлен полностью, более того весь оффис.

но для каждого нового юзера запускается инсталлер - персональные настройки мать его...


>а где можно подробнее почитать про то,
>как можно с офисом из-под asp работать?

я нигде не читал записываю макрорекордером ворда,
заменяю комбинацию

.Selection.TypeText text:="мой текст"
на
.Selection.TypeText "мой текст"

у ворда обширная справка по VBA единственное различие что методы в asp в синтаксисе без скобок в отличие от хелпа.



видимо придется генерить в asp клиентский скрипт формирования документа.
...
Рейтинг: 0 / 0
ASP: как запустить приложение под другим логином?
    #32292218
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так и сделал. получилось прикольно.

ASP скрипт динамически формирует клиентский скрипт заполняющий Word отчет и показывет пользователю.

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

Код: plaintext
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.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
<%
'Скрипт - ssi вложение для формирования отчета в формате ворд на стороне клиента'
sub show_word_report()


on error resume next


response.Write  "<script language=vbscript >"  & vbcrlf

'константы ворда'
response.Write  "const wdCell= 12 " & vbcrlf
response.Write  "const wdLine = 5 " & vbcrlf
response.Write  "const wdCharacter = 1 " & vbcrlf

'открыть ворд'
response.Write  "set app = CreateObject("  "Word.Application"  ")"  & vbcrlf
response.Write  "With app"  & vbcrlf
response.Write  " app.visible = true"  & vbcrlf

'открыть шаблон'
response.Write  "   .Documents.Open "  "http://MYSERVER/MYBLANC.doc"  ", False, True, False,"  """ , """  ", False, "  """ ,  """  ",  0 " & vbcrlf

.....

'Добавление текста по условию'
if  isnull(prj) then
   response.Write  ".Selection.TypeText "  "присвоить код проекта "  "" & vbcrlf  
else 
   response.Write " .Selection.TypeText  ""скорректировать бюджет проекта "  & prj &  """  " & vbcrlf  '"'
end if


.....

'Добавление строки в таблицу'" 
response.Write  ".Selection.InsertRowsAbove 1 " & vbcrlf
    
.....

'переход на ячейку вправо'
    response.Write  ".Selection.MoveRight wdCell, 1 " & vbcrlf
 
....

'ввод текста из поля рекордсета'
    response.Write  ".Selection.TypeText "  "" & rst(" sum_sub ") & "  """  & vbcrlf
.....

'переход на строку ниже'
    response.Write  ".Selection.MoveDown wdLine, 1 " & vbcrlf
.....

'ввод в нижний колонтитул'

response.Write  ".activewindow.activepane.view.type = 3 " & vbcrlf
response.Write  ".activewindow.activepane.view.seekview = 10 " & vbcrlf
response.Write  ".Selection.TypeText "  "" & " документ №  " & id_prj_planing & "  """  & vbcrlf
response.Write  ".activewindow.activepane.view.seekview = 0 " & vbcrlf



response.Write  " end with"  & vbcrlf
response.Write  " </script>"  & vbcrlf


if err.number <>  0  then 
response.Write err.Description &  "<br>" 
response.write  "При невозможности вывода документа в формате ворд следует воспользоваться более простой формой - нажмите кнопку <печать>" 
else
response.write  "Сообщение об открытии / изменении бюджета проекта успешно сформировано в формате WINWORD"  
%>
<br>
Внимание! Данный документ предназначен только для печати.<br> Никакие изменения сделанные в нем учтены в базе данных не будут. 

<%


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


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