Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2015, 21:31   #1
Seve
Пользователь
 
Регистрация: 06.06.2011
Сообщений: 11
По умолчанию Поиск документа Word и его сохранение в другой папке под другим имененм

Здравствуйте! Помогите пожалуйста в решении проблемы...
В больнице есть несколько одинаковых по структуре баз данных Access, которые содержат информацию о разных пациентах (некоторые пациенты представлены в разных базах) за несколько лет. Одно из полей таблицы, содержащей информацию о случаях госпитализации (истории болезни) является гиперссылкой на документ Word. Имя документа Word это уникальный код истории болезни с расширением *.doc. Возникла необходимость объединения информации из нескольких баз в одну (появилась локальная сеть). При объединении баз произвожу переиндексацию объединенной таблицы (коды историй перестали быть уникальными), а для связи с файлами Word предполагаю сохранить их в новую папку с новым именем, соответствующим новому коду истории болезни. Пытался использовать следующий код:
Код:


Set WdApp = CreateObject("Word.Application")
With WdApp.FileSearch
.LookIn = ИсторПуть & strFold
.FileType = msoFileTypeWordDocuments
.FileName = CodeOld & ".doc"
If .Execute > 0 Then
For n = 1 To .FoundFiles.Count
WdApp.Documents.Open .FoundFiles(n)
Set WdDoc = WdApp.Documents(.FoundFiles(n))
strNameDoc = ИсторПуть & NewFold & КодИст & ".doc"
' MsgBox strNameDoc
WdDoc.SaveAs strNameDoc
Next n
End If
End With
WdApp.Quit

Но Word.Application.FileSearch разыскивает файлы как соответствующие заданной "маске". Так при поиске документа с именем 244.doc находит и 1244.doc, и 2244.doc, а для имен, содержащих 1 или 2 цифры количество найденных файлов - несклько сотен. Кроме того, требуется еще и открытие документа, что по-моему непрофессиональному представлению (я врач) будет сильно тормозить процесс. Вопрос: можно ли организовать в модуле Vba поиск уникального документа без варианта использования "маски" и его переименование средствами Windows? Или как это правильно сделать используя Word.Application?
Seve вне форума Ответить с цитированием
Старый 25.06.2015, 10:16   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Из описания задачи следует, что открывать файл не надо, значит Word.Application не нужен.
Метод Word.Application.FileSearch отсутствует начиная с Офис 2007.
Код:
  On Error Resume Next
  src = ИсторПуть & strFold & CodeOld & ".doc" 'проверьте, что формируется правильный путь с "\"
  strNameDoc = ИсторПуть & NewFold & КодИст & ".doc" 'это ваша строка
  FileCopy src, strNameDoc
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 07.07.2015, 21:58   #3
Seve
Пользователь
 
Регистрация: 06.06.2011
Сообщений: 11
По умолчанию

Здравствуйте! Спасибо за помощь, но решить проблему предложенным вариантом не получилось. Возникает ошибка (файл не найден), хотя путь к файлу проверен. Сегодня пробовал в очередной раз и вместо того, чтобы закрыть сообщение об ошибке нажал на справку. Я с английским на Вы, но одной из причин возникновения этой ошибки, как я понял, может быть если программа не находит библиотеки DLL. Не подскажите какой именно и как ее подключить?
Seve вне форума Ответить с цитированием
Старый 18.07.2015, 22:15   #4
Seve
Пользователь
 
Регистрация: 06.06.2011
Сообщений: 11
По умолчанию

Все получилось!
Проблема была в том, что я использовал функцию Str(Number) для преобразования числового значения в текстовое, а при этом впереди полученного текстового значения появляется пробел. Соответственно копируемый файл не был найден
Еще раз спасибо.
Seve вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постраничное сохранение документа в Word 2007 Karull Microsoft Office Word 2 17.10.2018 16:04
Поиск документа Word и его сохранение в другой папке под другим именем Seve Microsoft Office Access 0 25.05.2015 11:53
VB: Сохранение документа WORD maksim_serg Общие вопросы .NET 2 28.09.2013 17:49
Сохранение документа Word-2007 VistaSV30 Microsoft Office Word 7 05.01.2010 08:38
поиск и сохранение под другим именем fitc Общие вопросы Delphi 3 17.07.2009 18:50