download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

Безплатна програма за търсене на дума или израз в множество M$ Word файлове

<1 2 3 4 5 6 >

Автор
Съобщение
joniewalker
Сря, 13.07.11, 00:03
Обаче в други файлове не видях да може да търси стрингове - например в *.php
electric_cc
Сря, 13.07.11, 08:34

RE: Безплатна програма за търсене на дума или израз в множество M$ Word файлове

” Обаче в други файлове не видях да може да търси стрингове - например в *.php „
SearchWord.zip
Опитай с този файл. Ако посочиш *.* ще чакаш дълго. Въпросът с Word2007 все още не е решен
joniewalker
Сря, 13.07.11, 12:02

RE: RE: Безплатна програма за търсене на дума или израз в множество M$ Word файлове

SearchWord.zip
Опитай с този файл. Ако посочиш *.* ще чакаш дълго. Въпросът с Word2007 все още не е решен „

Работи.

phrozencrew
Сря, 13.07.11, 20:51
Проблема на програмата e с обектите. Използваш следния код:
Dim MyWord As Word.Application
Dim WordDoc As Word.Document

което вика референции на конкретната ти инсталирана версия в vbp-файла.
Според теорията, ако пишеш мулти-версиен код за M$ Office би трябвало да използваш "късно свързване", като това:
Dim MyWord As Object
Set MyWord = CreateObject("Word.Application")

Това ще забави изпълнението, но не би трябвало да зависи от версията и не би трябвало да чете това от vbp:
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\system32\STDOLE2.TLB#OLE Automation
Reference=*\G{00020905-0000-0000-C000-000000000046}#8.2#0#C:\Program Files\Microsoft Office\Office10\MSWORD.OLB#Microsoft Word 10.0 Object Library

Другият вариант е да правиш конкретна проверка за версията Select Case Application.Version и тогава да добавяш референцията.

electric_cc
Пет, 15.07.11, 12:32
Нед, положението вместо да се влошава става безнадеждно.
Сега вместо да дава грешка, забива в храстите и само таск менаджера го оправя. Пробвах с бинарен метод, но в DOC файловете нищо не може да се намери по този начин. Имам идеи, но в момента съм ангажиран с неотложни задачи и затова резултатът, който очаквам ще позакъснее.
Има един виц за разведряване: един мъж обяснявал: в Понеделник пускам фиш на тотото и цяла седмица живея с една надежда, а жена му казвала: а пък аз живея с един Атанас.
Остава да поживеем другата седмица с една надежда.
phrozencrew
Пет, 15.07.11, 20:35
Нямам Office 2007 и по-нов, за да го пробвам, но пък си изтеглих VB6 и много леко пипнах кода на първоначалната версия, която търси само в Word-файлове. Използвах по-горната ми идея за "забавения старт":
WordSearch_simple_v.9223.rar
Бих помолил някой с Office 2007 или по-висок да тества програмката.
svilen73
Пет, 15.07.11, 21:20

RE: Безплатна програма за търсене на дума или израз в множество M$ Word файлове

” Нямам Office 2007 и по-нов, за да го пробвам, но пък си изтеглих VB6 и много леко пипнах кода на първоначалната версия, която търси само в Word-файлове. Използвах по-горната ми идея за "забавения старт":
WordSearch_simple_v.9223.rar
Бих помолил някой с Office 2007 или по-висок да тества програмката. „

phrozencrew
Пет, 15.07.11, 22:30

RE: RE: Безплатна програма за търсене на дума или израз в множество M$ Word файлове

Благодаря Свилене!
Разбрах от къде е проблема:
Цитат
” This issue occurs when you have 2007 Office programs installed on a Microsoft Windows XP computer, and the VBA macro uses the Application.FileSearch object. This object is no longer supported in 2007 Office programs. „
От М$ препоръчват в случая да се използва това решение за рекурсивно листване на файлове.
phrozencrew
Съб, 16.07.11, 19:45
Направих доста промени по кода, но като се зачетох в разликите на обектите между версиите на M$ Office, направо ми прилоша.
Ето го кода и файала: SearchWord_v.7723.rar
Обаче пак може да даде грешка при 2007 или 2010 версиите, защото пак са сменяли синтаксиса на Find.Execute Method. В линка е описанието за 2007. Ако не се използва Find.Execute търсенето ще е изключително бавно.

ПС: Някой, ако може да пробва това чудо. Благодаря предварително!

svilen73
Съб, 16.07.11, 20:22

RE: Безплатна програма за търсене на дума или израз в множество M$ Word файлове

” Направих доста промени по кода, но като се зачетох в разликите на обектите между версиите на M$ Office, направо ми прилоша.
Ето го кода и файала: SearchWord_v.7723.rar
Обаче пак може да даде грешка при 2007 или 2010 версиите, защото пак са сменяли синтаксиса на Find.Execute Method. В линка е описанието за 2007. Ако не се използва Find.Execute търсенето ще е изключително бавно.

ПС: Някой, ако може да пробва това чудо. Благодаря предварително! „

Сега поне не дава грешка но не търси правилно изкарва няколко документа .doc а в docx не търси изобщо.

<1 2 3 4 5 6 >

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.