1

Тема: Удаление или пропуск файла с цифровой подписью

Добрый день! Есть задача по конвертированию большого количества doc файлов в txt. Для этого используется простой макрос, найденный мной может и на этом ресурсе.

Sub ConverterDoc2Txt_noparse()
Dim sName As String
ChangeFileOpenDirectory "C:\app\watcher\obrabotka\doc\"
sName = Dir("C:\app\watcher\obrabotka\doc\*.*")
Do While sName <> ""
Documents.Open FileName:=sName, ConfirmConversions:=False, Format:=wdOpenFormatAuto
sName = Left(sName, Len(sName) - 3)
ActiveDocument.SaveAs FileName:="C:\app\watcher\obrabotka\txt\" + sName + "txt", FileFormat:=wdFormatText
ActiveDocument.Close
sName = Dir
Loop
End Sub

Однако, если в каталоге встречается файл с цифровой подписью, то работа его прекращается. Каким образом можно его модифицировать, чтобы файлы с цифровой подписью не обрабатывались/пропускались и работа макроса продолжалась?

Большое спасибо.

2

Re: Удаление или пропуск файла с цифровой подписью

Вот код

Sub ConverterDoc2Txt_noparse()
Dim sName As String
ChangeFileOpenDirectory "C:\app\watcher\obrabotka\doc\"
sName = Dir("C:\app\watcher\obrabotka\doc\*.*")
Do While sName <> ""
On Error Resume Next
Documents.Open FileName:=sName, ConfirmConversions:=False, Format:=wdOpenFormatAuto
If Err.Number = 0 Then
sName = Left(sName, Len(sName) - 3)
ActiveDocument.SaveAs FileName:="C:\app\watcher\obrabotka\txt\" + sName + "txt", FileFormat:=wdFormatText
ActiveDocument.Close
End If
sName = Dir
Loop
End Sub

3

Re: Удаление или пропуск файла с цифровой подписью

Спасибо! К сожалению, что-то подобное я пробовал. И у меня тупо вылетает с ошибкой Word 2007.

Файл, на котором вылетает, прилагаю. Он из публичных источников и никакого секрета не представляет.

Post's attachments

1.doc 56.5 Кб, 3 скачиваний с 2012-06-21 

You don't have the permssions to download the attachments of this post.

4

Re: Удаление или пропуск файла с цифровой подписью

Не поможет ли это:

В Microsoft Word ... любое сохранение файла любым пользователем, включая автора файла и носителя цифровой подписи, ведет к потере цифровой подписи.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

5

Re: Удаление или пропуск файла с цифровой подписью

Это мне неважно. Я даже готов такие файлы просто в цикле пропускать. Если есть способ в макросе проверить, что очередной файл подписан.

6

Re: Удаление или пропуск файла с цифровой подписью

Кстати, при сохранении таких файлов (просто при попытке сделать Save As файлу без изменений) я получаю следующую чудесную ошибку:

"The save failed due to out of memory or disc space..."

7

Re: Удаление или пропуск файла с цифровой подписью

В общем, workaround был найден. Может кому-то пригодится.

При сохранении таких файлов ворд всегда падает кроме... сохранения в docx. Если сохранить сначала в docx, то снимаются подписи, потом можно гнать в txt. Два прохода получается, но в целом работает. Спасибо всем.