Страницы: 1
RSS
Не ставится расширение из за точек в названии.
 
Есть макрос. Задача макроса найти строку по шаблону и использовать ее как название файла при его сохранении.
Пример искомой строки "КП 1190 от 30.10.2017"

Проблема состоит в том, что при сохранении, фал не имеет расширения. Если сократить искомую строку до вида "КП 1190 от 30" , то файл имеет расширение. Думаю дело в точках в названии файла.

Помоги пожалуйста сделать так, чтобы расширение у файла таки появлялось при отработке макроса. А если конкретно то подскажите пожалуйста как в найденной строке изменить точки на тире при передаче значения в название. Ну или какой нибудь иной способ.
Код

UPD:
Макрос для Word
Код
Sub AutoClos654654e()
Dim i As Long       'счётчик искомых последовательностей
Dim verdict As Long 'ответ оператора

 
With Selection
.HomeKey wdStory                'ищем (имя) с начала документа
.Find.Wrap = wdFindStop         'поиск производим с остановкой на найденном
    Do
    .Find.Text = "^#^#^#^#^# от ^#^#.^#^#.^#^#^#^#"   'равносильно CTRL-F
    .Find.Execute               'здесь выделено найденное (если есть)
    
    verdict = MsgBox("Сохраняю " & ActiveDocument & " как " & .Text, vbOKCancel)

    r = "КП " 'Статичный префикс который добавляется к найденному значению
        If verdict = vbOK Then
        ChangeFileOpenDirectory "D:\1"

            ActiveDocument.SaveAs r & .Text, FileFormat:=wdFormatDoc 'сохранили
            Exit Sub
        Else
            Exit Sub
'            Exit Do
'          Если открыть Exit Do, закрыв Exit Sub, будет появляться сообщение (рис. 2)
        End If
    
    i = i + 1
    Loop Until Not .Find.Found
End With
    If i = 0 Then MsgBox "Новое имя в " & ActiveDocument & " не найдено."
End Sub
Изменено: tim249 - 30.10.2017 17:03:26
 
Форумом ошиблись.
Или, как вариант, не там применяете макрос.
 
Вы правы - форумом ошибся, но сделал это намеренно. Ведь не смотря на то, что макрос составлялся для ворда, мне кажется это общий вопрос и если тоже самое реализовать для экселя - получиться точно такая же проблема.
 
А так?
Код
ActiveDocument.SaveAs r & .Text & ".doc", FileFormat:=wdFormatDoc 'сохранили
Правда, не совсем уверен в правильном расширении, т.к. не знаю значения wdFormatDoc. У меня такого нет и не было, знаю только wdFormatDocument(самое близкое к записанному у Вас).
Изменено: The_Prist - 30.10.2017 16:52:15
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
The_Prist, большое спасибо - все получилось - вы помогли )
Страницы: 1
Читают тему
Наверх