Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Application.FileSearch

Ответить
Настройки темы
Любой язык - Application.FileSearch

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


День добрый. Возникла проблема с макросом при переходе с Office 2003 на 2007. Ошибка выходит на Application.FileSearch и как я понял, из поиска в интернете, Application.FileSearch в Office 2007 и выше отключен.
Я не программист и прошу помощи в решении проблемы.
Ошибка выходит на этом месте:

CheckExist:
With Application.FileSearch
.FileName = LastTxtName & ".txt"
.LookIn = ActiveDocument.Path
.Execute

While .Execute > 0

Incrementor = Incrementor + 1
If Incrementor < 10 Then
MatchLetters = 8
Else
MatchLetters = 7
End If

LastTxtName = Left (LastTxtName, MatchLetters - 1) & Incrementor

GoTo CheckExist

Wend
End With

FullLastTxtName = ActiveDocument.Path & "\" & LastTxtName & ".txt"

End Sub

Отправлено: 07:34, 31-08-2019

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Вот за это я и люблю коллективный разум!

Отправлено: 16:31, 01-09-2019 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


megaloman, Iska возможно ваши варианты и подходят. Макрос на них не стопорится, теперь ошибка выходит на :

'Сохраняем в ОЕМ (DOS) кодировке
'Save file with new extension

ActiveDocument.SaveAs FileName:=FullLatTxtName, _
FileFormat:=wdFormatText, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False, Encoding:=866, InsertLineBreaks:=True, AllowSubstitutions:=True, _
LineEnding:=wdCRLF

Отправлено: 19:43, 02-09-2019 | #12


Ветеран


Contributor


Сообщения: 2703
Благодарности: 1683

Профиль | Отправить PM | Цитировать


phx447,
Каюсь, нагло списал сохранение документа из автозаписи макроса.
Код: Выделить весь код
LastTxtName = "ABCDEFGHIJKLMN"

Incrementor = 0
ActiveDocumentPath = ActiveDocument.Path + "\"
Do
    If Incrementor = 0 Then
        TxtName = Left(LastTxtName, 6)
    Else
        TxtName = Left(LastTxtName, 7 - Len(CStr(Incrementor))) + " " + CStr(Incrementor)
    End If
    FullLastTxtName = ActiveDocumentPath + TxtName + ".txt"
    D = Dir(FullLastTxtName)
    If D = "" Then Exit Do
    Incrementor = Incrementor + 1
Loop

MsgBox """" + FullLastTxtName + """"

ActiveDocument.SaveAs2 FileName:=FullLastTxtName, _
    FileFormat:=wdFormatText, _
    LockComments:=False, _
    Password:="", _
    AddToRecentFiles:=True, _
    WritePassword:="", _
    ReadOnlyRecommended:=False, _
    EmbedTrueTypeFonts:=False, _
    SaveNativePictureFormat:=False, _
    SaveFormsData:=False, _
    SaveAsAOCELetter:=False, _
    Encoding:=866, _
    InsertLineBreaks:=False, _
    AllowSubstitutions:=True, _
    LineEnding:=wdCRLF, _
    CompatibilityMode:=0

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 03-09-2019 в 07:45.


Отправлено: 21:26, 02-09-2019 | #13


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


megaloman, на строке CompatibilityMode:=0 выходит Run-time error `13`: Type mismatch

Отправлено: 17:54, 07-09-2019 | #14


Ветеран


Contributor


Сообщения: 2703
Благодарности: 1683

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: png я190907.png
(32.3 Kb, 4 просмотров)

phx447, возможно, проблема в совместимости, у меня Word 2010
Во первых, если не убирать MsgBox """" + FullLastTxtName + """", там получается внятное имя файла? Если нормальное, то:
Сделайте как я:
откройте макрос или удалите или закоментируйте все строки
Код: Выделить весь код
'ActiveDocument.SaveAs2 FileName:=FullLastTxtName, _
'    FileFormat:=wdFormatText, _
'    LockComments:=False, _
'    Password:="", _
'    AddToRecentFiles:=True, _
'    WritePassword:="", _
'    ReadOnlyRecommended:=False, _
'    EmbedTrueTypeFonts:=False, _
'    SaveNativePictureFormat:=False, _
'    SaveFormsData:=False, _
'    SaveAsAOCELetter:=False, _
'    Encoding:=866, _
'    InsertLineBreaks:=False, _
'    AllowSubstitutions:=True, _
'    LineEnding:=wdCRLF, _
'    CompatibilityMode:=0
Закройте макрос. Сохраните файл.
Далее в ленте: Вид -> Макросы (треугольничек под надписью) -> Запись макроса -> Запомните имя макроса -> Птичка Макрос доступен для этого документа -> OK
Делаем: Файл -> Сохранить как -> Тип файла обычный текст -> имя файла можете сделать любым -> Сохранить документ в этом формате ->
http://forum.oszone.net/attachment.p...1&d=1567875088
-> Макросы (треугольничек под надписью) -> Остановить запись
Откройте записанный макрос.
Получится нечто похожее на вот это
(у меня имя файла было "qertyuio.txt")
Код: Выделить весь код
    ActiveDocument.SaveAs2 FileName:="qertyuio.txt", FileFormat:=wdFormatText, _
         LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
        :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
        SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
        False, Encoding:=866, InsertLineBreaks:=False, AllowSubstitutions:=True, _
        LineEnding:=wdCRLF, CompatibilityMode:=0

Скопируйте получившееся у Вас (по сравнению со мной может что - то отличаться), вставьте в текст основного макроса, замените выделенное мной на FullLastTxtName.
Сохраните файл как: тип файла *.docm можно с первоначальным, до изменения макроса, именем.
Тестируйте полученное.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 07-09-2019 в 20:24.

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:13, 07-09-2019 | #15


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


megaloman, вроде макрос работает, но с несколькими проблемами.
Первая - это каждый документ после применения макроса сохраняется с именем "FullLastTxtName", если со строки FileName:= убрать все, то макрос не работает. А по задумке после применения документ должен сохраняться с именем первоначального документа, но в транслите.
Вторая - это после применения макроса, при следующем открытии Word нужно снова выносить макрос на панель, чтобы его применить

Отправлено: 08:24, 08-09-2019 | #16


Ветеран


Contributor


Сообщения: 2703
Благодарности: 1683

Профиль | Отправить PM | Цитировать


Цитата:
если не убирать MsgBox """" + FullLastTxtName + """", там получается внятное имя файла?
ActiveDocument.SaveAs2 FileName:=FullLastTxtName, ..............
FullLastTxtName - без кавычек, это не имя файла, это переменная, где хранится полное имя файла, которое отображается в MsgBox

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 08:33, 08-09-2019 | #17



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Application.FileSearch

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Readreg MFC Application и CtHelper Application Flethgin Поиск драйверов, прошивок и руководств 0 27-03-2014 19:50
Прочие - AskStub Application Grey_rnd Программное обеспечение Windows 4 19-12-2012 14:38
VBS/WSH/JS - [решено] Чем заменить Application.FileSearch в Excel 2007? mar1boro Скриптовые языки администрирования Windows 3 06-09-2012 17:24
2003/XP/2000 - Excel VB: Filesearch и zip файлы AlexM Microsoft Office (Word, Excel, Outlook и т.д.) 0 18-02-2010 07:34
Application Error ankerok Хочу все знать 1 10-10-2004 02:36




 
Переход