Автор |
|
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 не търси изобщо.
|
|