Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBS и Word / 20 сообщений из 20, страница 1 из 1
17.05.2018, 06:02
    #39645834
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
Заранее извиняюсь у модераторов за создание повторной темы, тема создана в другом разделе. Но возможно мне смогут помочь тут?

21408203
...
Рейтинг: 0 / 0
17.05.2018, 08:51
    #39645870
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
вопрос решен. В настройках DCOM в винде не был прописан логин и пароль для службы ворда
...
Рейтинг: 0 / 0
17.05.2018, 13:38
    #39646089
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
Раз уж обратился, подскажите как правильно организовать поиск и замену текста. По документации посмотрел и накодил вот так, но документ не формируется, висит и нифига

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Set wApp = CreateObject("Word.Application")
wApp.Application.Visible = False
wApp.DisplayAlerts = 0
Set wDoc = wApp.Documents.Open(Server.MapPath("Путь к файлу"))
Set wSel = wApp.Selection

' Поиск и замена
With wSel.Find
 .ClearFormatting
 .MatchWholeWord = True
 .Forward. = True
 .MatchCase = False
 .ReplaceWith = "Текст которым мы заменяем то что нашли"
 .Execute("Текст который ищем")
End With



Если что - это пишется на VBS
...
Рейтинг: 0 / 0
17.05.2018, 13:55
    #39646103
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
Ну если не считать позднего связывания и отсутствия определения переменных - на VBA будет один в один тот же самый код. Который легко получается вульгарным макрорекордером.
...
Рейтинг: 0 / 0
17.05.2018, 14:01
    #39646113
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
dartveider13висит и нифигаа что бы вы хотели после этого?
dartveider13
Код: vbnet
1.
wApp.Application.Visible = False
...
Рейтинг: 0 / 0
17.05.2018, 14:03
    #39646117
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
Думаю, что подвисает из-за того, что word выдает в конце сообщение сколько было замен, хотя я же вроде выключил показ сообщений
...
Рейтинг: 0 / 0
17.05.2018, 14:07
    #39646125
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
Переменные определены. Просто я тут не описал их. Если бы их небыло то сервак бы выдал еррор. А зачем мне видимость ворда, если он на серваке запускается а потом скачивается с него
...
Рейтинг: 0 / 0
17.05.2018, 14:09
    #39646130
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
Кстати даже если включить видимость, на сервере я не вижу его. Процесс появляется, а окна тю тю
...
Рейтинг: 0 / 0
17.05.2018, 14:15
    #39646136
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
использовать COM-взаимодействие с офисом на сервере - плохая идея, даже сам микрософт не рекомендует
...
Рейтинг: 0 / 0
17.05.2018, 14:16
    #39646139
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
Ну у меня пока нет других вариантов. Эксель вроде ничего. Работает потихоньку.
...
Рейтинг: 0 / 0
17.05.2018, 14:19
    #39646142
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
dartveider13
Код: vbnet
1.
 .Forward. = True

а это что такое?
...
Рейтинг: 0 / 0
17.05.2018, 14:23
    #39646144
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
Shocker.Pro, извиняюсь, это я тут опечатался. Комп рабочий не подключен к инету. В коде написано .Forward = True
...
Рейтинг: 0 / 0
17.05.2018, 15:07
    #39646177
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
dartveider13,

уверены, что до поиска вообще доходит? Ведь вполне возможен вариант, что документ с сервера просто не хочет открываться или открывается в защищенном режиме.
Не пробовали выполнить код из Excel, например? Чтобы в режиме пошаговой отладки все посмотреть.
Если файл открывается и дело действительно в сообщении о замене - то можно попробовать отключить показ сообщений перед выполнением кода(оптимально, перед открытием файла Word):
Код: vbnet
1.
wApp.DisplayAlerts = False


Только в конце кода в True лучше вернуть.
...
Рейтинг: 0 / 0
17.05.2018, 15:08
    #39646178
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
The_Prist, да я проверял его - убирал поиск. Он мне сохранял файлик сервака. И False тоже пробовал ставить - не помогает
...
Рейтинг: 0 / 0
17.05.2018, 15:17
    #39646184
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
Хотя, может уже и не в этом дело, вроде закомментил все и снова подвисает.. Буду думать. Скажите, а в целом код поиска и замены правильный?
...
Рейтинг: 0 / 0
17.05.2018, 15:36
    #39646197
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
Думаю дело в Documents.Open. До этого у меня было прописано с кучей запятых и пара свойств. Потом я подумал убрать их и оставить только путь к файлу. На этом и зависло все... Когда на серваке был убит процесс ворда, лог на эту строку ругнулся. Значит дальше нее дело не пошло. Пытаюсь вспомнить как было написано)))
...
Рейтинг: 0 / 0
17.05.2018, 15:55
    #39646219
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
Непонятная фигня какая то с файлом была. Открыл его на серваке, он написал какую то ошибку, пересохранил его и все нормально стало. Ладно буду пробовать дальше. Ща попробую вернуть поиск
...
Рейтинг: 0 / 0
17.05.2018, 16:09
    #39646239
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
Че-то в поиске не так. Он сначала ругается на какое нибудь свойство, а потом в осадок выпадает если по второму кругу попробовать загрузить
...
Рейтинг: 0 / 0
18.05.2018, 05:38
    #39646459
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
Господа, а скажите мне, если Word и Excel не рекомендуется использовать в Веб-сервере, то что тогда лучше использовать для отчетности в связке IIS+ASP(не NET)+HTML+JavaScript+VbScript?
...
Рейтинг: 0 / 0
18.05.2018, 09:19
    #39646521
dartveider13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBS и Word
Вобщем с помощью гугла и какой то там матери, победил поиск и замену. Всем кому интересно получилось вот так (если опечатаюсь прошу сильно не пинать - рабочий комп не подключен к инету, пишу руками):

Код: vbnet
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.
Dim wApp, wDoc, wSel, FSO, Stream

Set wApp = CreateObject("Word.Application")
wApp.Application.Visible = False
wApp.DisplayAlerts = 0

Set wDoc = wApp.Documents.Open(Server.MapPath("относительный путь к файлу"),,False,,,,,,,,,True)
Set wSel = wApp.Selection

' Алгоритм поиска и замены
wSel.Find.ClearFormatting
wSel.Find.Replacement.ClearFormatting
With wSel.Find
 .Replacement.Text = "Текст на который заменяем"
 .MatchWholeWord = True
 .Text = "Текст который ищем"
 .Wrap = wdFindContinue
 .Format = False
 .MatchCase = False
 .MatchWildcards = False
 .MatchSoundsLike = False
 .Execute ,,,,,,,,,,wdReplaceAll
End With

' Сохранение и закачка документа с сервера
Set FSO = CreateObject("Scripting.FileSystemObject")

If FSO.FileExists("путь до файла") Then FSO.DeleteFile(путь до файла)
wDoc.SaveAs "путь до файла", 0

Set FSO = Nothing

wDoc.Close False
wApp.Quit

Set Stream = CreateObject("ADODB.Stream")

Stream.Type = 1
Stream.Open
Stream.LoadFromFile "путь до файла"
Response.ContentType = "Application/VND.MS-Word"
Response.AddHeader "Content-Disposition", "attachment; filename=" & "имя файла без пути например 111.doc"
Response.BinaryWrite Stream.Read
Response.Flush
Response.End

Stream.Close
Set Stream = Nothing



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


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