|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Application.FileSearch |
|
Любой язык - Application.FileSearch
|
Новый участник Сообщения: 7 |
Профиль | Отправить 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
|
Профиль | Отправить PM | Цитировать Вот за это я и люблю коллективный разум!
|
Отправлено: 16:31, 01-09-2019 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 7
|
Профиль | Отправить 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 |
Ветеран Сообщения: 2703
|
Профиль | Отправить PM | Цитировать phx447,
Каюсь, нагло списал сохранение документа из автозаписи макроса.
|
------- Последний раз редактировалось megaloman, 03-09-2019 в 07:45. Отправлено: 21:26, 02-09-2019 | #13 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать megaloman, на строке CompatibilityMode:=0 выходит Run-time error `13`: Type mismatch
|
Отправлено: 17:54, 07-09-2019 | #14 |
Ветеран Сообщения: 2703
|
Профиль | Отправить PM | Цитировать 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:=
Скопируйте получившееся у Вас (по сравнению со мной может что - то отличаться), вставьте в текст основного макроса, замените выделенное мной на FullLastTxtName. Сохраните файл как: тип файла *.docm можно с первоначальным, до изменения макроса, именем. Тестируйте полученное. |
------- Последний раз редактировалось megaloman, 07-09-2019 в 20:24. Отправлено: 20:13, 07-09-2019 | #15 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать megaloman, вроде макрос работает, но с несколькими проблемами.
Первая - это каждый документ после применения макроса сохраняется с именем "FullLastTxtName", если со строки FileName:= убрать все, то макрос не работает. А по задумке после применения документ должен сохраняться с именем первоначального документа, но в транслите. Вторая - это после применения макроса, при следующем открытии Word нужно снова выносить макрос на панель, чтобы его применить |
Отправлено: 08:24, 08-09-2019 | #16 |
Ветеран Сообщения: 2703
|
Профиль | Отправить PM | Цитировать Цитата:
FullLastTxtName - без кавычек, это не имя файла, это переменная, где хранится полное имя файла, которое отображается в MsgBox |
|
------- Отправлено: 08:33, 08-09-2019 | #17 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|