Гость
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Поиск и замена в файле MS Word??? / 24 сообщений из 24, страница 1 из 1
07.12.2006, 15:28
    #34183669
RAte
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
По работе появилась необходимость провести поиск строки в файле MS Word и на место найденного слова вставить изображение. Кто знает как это можно сделать или любые идеи по этому вопросу, прошу подсказать. За ранее благодарен ! С уважением Артем
...
Рейтинг: 0 / 0
07.12.2006, 15:39
    #34183707
LINUXER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
может спросить на Visual Basic
...
Рейтинг: 0 / 0
07.12.2006, 15:57
    #34183793
RAte
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
к сожалению надо именно на java script
...
Рейтинг: 0 / 0
08.12.2006, 06:40
    #34184941
LINUXER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
RAteк сожалению надо именно на java script
Мягко говоря это не разумно(js не для того сделан)
...
Рейтинг: 0 / 0
08.12.2006, 07:14
    #34184970
RAte
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
LINUXER RAteк сожалению надо именно на java script
Мягко говоря это не разумно(js не для того сделан)

я знаю, что js не для этого сделан изначально, однако наша разработка поддерживает только JS и в этом есть проблема !

Появилась такая идея: с помощью поиска найти нужное слово (поиск я налел как делать), однако поиск не переводит курсор на найденное место, как можно его туда перевести ?
...
Рейтинг: 0 / 0
08.12.2006, 08:46
    #34185056
Green2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
2 RAte
каким образом вы читаете документ, через объект?
--



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
08.12.2006, 08:52
    #34185063
RAte
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
Green2
2 RAte
каким образом вы читаете документ, через объект?
--



Posted via ActualForum NNTP Server 1.3

вот так:

var oWord = new ActiveXObject("Word.Application");
...
Рейтинг: 0 / 0
08.12.2006, 08:56
    #34185071
Green2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
2 RAte
в VBA можно написать программу, а потом переписать на js
--



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
08.12.2006, 08:56
    #34185072
RAte
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
вернее вот так
var oWord = new ActiveXObject("Word.Application");
var oDoc = oWord.Documents.Add("имя_файла");
...
Рейтинг: 0 / 0
08.12.2006, 08:57
    #34185074
RAte
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
Green2
2 RAte
в VBA можно написать программу, а потом переписать на js
--



Posted via ActualForum NNTP Server 1.3

т.е. ?
...
Рейтинг: 0 / 0
08.12.2006, 09:03
    #34185087
Green2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
В Word встроен редактор макросов.
Объекты там совпадют с объектами на js
и есть документация.
Можно написать программу в виде макроса, на VBA
а потом переписать её на js потому что программы
будут различатся только особенностями синтаксиса
языков, но основные объекты/методы/свойства будут одинаковы.
--



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
08.12.2006, 09:13
    #34185109
RAte
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
я так пробовал делать, дело в том, что процедура написанная мной в виде макроса на VBA, выделяет найденный текст и переводит туда курсор, а вот таже самая процедура на js, не переводит курсор и не выделяет найденный текст, при этом процедура выполняется успешно, и режим замены тоже работает !
...
Рейтинг: 0 / 0
08.12.2006, 09:18
    #34185124
Green2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
там есть коллекция слов, может можно искать и заменять в ней?
--



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
08.12.2006, 09:19
    #34185128
RAte
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
Green2
там есть коллекция слов, может можно искать и заменять в ней?
--



Posted via ActualForum NNTP Server 1.3

можно по подробнее? что такое коллекция слов ? и как ее можно использовать ?
...
Рейтинг: 0 / 0
08.12.2006, 09:30
    #34185156
Green2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
советую ознакомится с структурой документа word
и интерфейсом для доступа к нему.
практически до всего доступ с помощью коллекции.
Есть колекции для разных целей, например коллекция
абзацев, коллекция слов, таблиц, картинок...
--



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
08.12.2006, 09:36
    #34185170
Green2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
надо найти Microsoft Word Objects
и посмотреть что зачем.
--



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
08.12.2006, 10:50
    #34185403
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
Запускаем Word - Alt+F11 - F2 - F1, F1, F1.....
...
Рейтинг: 0 / 0
08.12.2006, 13:20
    #34186046
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
тынць
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
08.12.2006, 15:23
    #34186588
RAte
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
[quot Ex_Soft] тынць

Я сделал макрос, однако поиск не переводит курсор на найденной место и не выделяет его, что является определяющим, так как на найденное место необходимо вставить картинку ! может кто нить знает как получить позицию найденного слова в документе и перевести туда курсор ?
...
Рейтинг: 0 / 0
08.12.2006, 15:51
    #34186702
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub Test()
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "3"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute
    Selection.InlineShapes.AddPicture FileName:="F:\My_Doc\avatara.gif", LinkToFile:=False, SaveWithDocument:=True
End Sub
так делаете? код привидите...

тынць Тока по словам прыгать... Заюзайте bookmark'и...
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
08.12.2006, 16:15
    #34186796
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS 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.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
<html>
  <head>
    <title>Test M$ Word</title>
<script type="text/javascript">
<!--
function TestCOM()
{
   var
     oFS=null,
     SignatureDoc="E:\\Soft.src\\JavaScript\\Test\\COM\\Word_tst.doc",
     OutputDoc="E:\\Soft.src\\JavaScript\\Test\\COM\\Word_out.doc",
     MSWordExists,
     OpenOfficeOrgExists,
     MSWord=null,
     Document=null,
     Bookmarks=null,
     wdGoToBookmark=- 1 , // 0xFFFFFFFF
     wdGoToFirst= 1 ,
     wdGoToAbsolute= 1 ,
     BookmarkName="MyBookmark",
     TEST_BOOKMARK_BY_BOOKMARKS_COLLECTION=false,
     Bookmark;

   if(!(oFS=new ActiveXObject("Scripting.FileSystemObject")))
   {
      alert("!Scripting.FileSystemObject");
      return;
   }

   if(!oFS.FileExists(SignatureDoc))
   {
      alert("!FileExists");
      return;
   }

   try
   {
      MSWord=new ActiveXObject("com.sun.star.ServiceManager");
      OpenOfficeOrgExists=true;
   }
   catch(Exception)
   {
      alert(Exception.name+": "+Exception.message);
      alert(MSWord);
      OpenOfficeOrgExists=false;
   }

   MSWord=null;
   //alert( 1 );
   //MSWord=GetObject("e:\\Test1.doc","Word.Application");
   //alert( 2 );
   //
   // PRB: Cannot Call GetObject from Script in IE to Access Running Object
   // http://support.microsoft.com/kb/q239470/
   //

   if(!MSWord)
   {
      try
      {
         MSWord=new ActiveXObject("Word.Application");
         MSWordExists=true;
      }
      catch(Exception)
      {
         alert(Exception.name+": "+Exception.message);
         MSWordExists=false;
      }
   }

   if(!MSWord)
   {
      alert("!Word.Application");
      return;
   }

   MSWord.Visible=true;

   if(!(Document=MSWord.Documents.Open(SignatureDoc)))
   {
      alert("!Document");
      return;
   }

   Document.PageSetup.TopMargin=MSWord.CentimetersToPoints( 10 );

   if(!(Bookmarks=Document.Bookmarks))
   {
      alert("!Bookmarks");
      return;
   }

   //alert("Bookmarks.Count="+Bookmarks.Count);
   if(Bookmarks.Exists(BookmarkName))
   {
      if(TEST_BOOKMARK_BY_BOOKMARKS_COLLECTION)
      {
         Bookmark=Bookmarks.Item(BookmarkName);
         // ||
         //Bookmark=Bookmarks.Item( 1 );
         Bookmark.Select();
      }
      else
      {
         MSWord.Selection.GoTo(/*What*/ wdGoToBookmark, /*Which*/  0  /*wdGoToFirst*/, /*Count*/  0 , /*Name*/ BookmarkName);
      }

      MSWord.Selection.TypeText(document.getElementById("Input1").value);
      MSWord.Selection.InlineShapes.AddPicture("F:\\My_Doc\\avatara.gif",false,true);
   }
   
   MSWord.ActiveDocument.SaveAs(OutputDoc);
   MSWord.ActiveDocument.PrintOut(false, 0 , 0 ,"","","", 0 , 3 );
   MSWord.ActiveDocument.Close();
   MSWord.Quit();

   alert("oB!!!");
}
// -->
</script>
  </head>
  <body onload="TestCOM()">
    <form>
      <input type="text" id="Input1" value="123456789">
    </form>
  </body>
</html>
вставляет
без проблем
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
08.12.2006, 16:16
    #34186804
RAte
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
Первый вариант:
var oWord = new ActiveXObject("Word.Application");
var oDoc = oWord.Documents.Add("C:\1.doc");

oDoc.Content.Find.ClearFormatting();
oDoc.Content.Find.Text = "111";
oDoc.Content.Find.Replacement.Text = "";
oDoc.Content.Find.Forward = true;
oDoc.Content.Find.Wrap = 2;
oDoc.Content.Find.Format = false;
oDoc.Content.Find.MatchCase = false;
oDoc.Content.Find.MatchWholeWord = false;
oDoc.Content.Find.MatchWildcards = false;
oDoc.Content.Find.MatchSoundsLike = false;
oDoc.Content.Find.MatchAllWordForms = false;
oDoc.Content.Find.Execute();
oDoc.Content.InlineShapes.AddPicture(C:\1.bmp"),false,true);

Результат: картинка вставляется в начало первой строки
Причем oDoc.Content.Find.Execute() = false


Второй вариант:

var oWord = new ActiveXObject("Word.Application");
var oDoc = oWord.Documents.Add("C:\1.doc");
oDoc.Content.Find.Execute("test", false, false, false, false, false, true, false, "111", false, 3);

Результат: происходит замена всех "test" на "111"

Третий вариант:

var oWord = new ActiveXObject("Word.Application");
var oDoc = oWord.Documents.Add("C:\1.doc");

oDoc.Content.Find.Execute("test");
oDoc.Content.InlineShapes.AddPicture(C:\1.bmp"),false,true);

Результат: oDoc.Content.Find.Execute("test") возвращает true, однако картинка вставляется в начало первой строки
...
Рейтинг: 0 / 0
08.12.2006, 16:32
    #34186860
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
Ex_Soft
Заюзайте bookmark'и

Ex_Soft
вставляет
без проблем

и куда нуна

С Find'ом сто лет не работал - по специфике много было повторений в тексте - неоднозначность получалась. По сему: bookmark'и - рулез фореве

_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
08.12.2006, 16:46
    #34186897
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и замена в файле MS Word???
BTW, м.б. EditFind вместо Find попробовать заюзать?
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Поиск и замена в файле MS Word??? / 24 сообщений из 24, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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