Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Пропустить блок команд, если файл бъёт ошибку - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Пропустить блок команд, если файл бъёт ошибку (Макросы/Sub)
Пропустить блок команд, если файл бъёт ошибку
amdmsn Дата: Среда, 09.07.2014, 14:35 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Приветствую вас форумчане. У меня тут такая загадка образовалась. Не знаю как ее разгодать. Есть макрос который открывает документ без расширения, выставляет необходимые параметры шрифта и сохраняет его уже в word, Таких документов много, собственно вот код.
[vba]
Код

Sub макрос1()
     ChangeFileOpenDirectory "d:\новая папка\"
      Documents.Open FileName:="документ1", ConfirmConversions:=False, ReadOnly:= _
          False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _
          "", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
          Format:=wdOpenFormatAuto, XMLTransform:="", Encoding:=1251
      Selection.WholeStory
      Selection.Font.Size = 8
      WordBasic.TogglePortrait Tab:=3, PaperSize:=0, TopMargin:="2.35", _
          BottomMargin:="2.35", LeftMargin:="2", RightMargin:="2", Gutter:="0", _
          PageWidth:="29.7", PageHeight:="21", Orientation:=1, FirstPage:=0, _
          OtherPages:=0, VertAlign:=0, ApplyPropsTo:=0, FacingPages:=0, _
          HeaderDistance:="1.25", FooterDistance:="1.25", SectionStart:=2, _
          OddAndEvenPages:=0, DifferentFirstPage:=0, Endnotes:=0, LineNum:=0, _
          StartingNum:=1, FromText:=wdAutoPosition, CountBy:=0, NumMode:=0, _
          TwoOnOne:=0, GutterPosition:=0, LayoutMode:=0, CharsLine:=41, LinesPage:= _
          40, CharPitch:=220, LinePitch:=360, DocFontName:="Основной текст", _
          DocFontSize:=11, PageColumns:=1, TextFlow:=0, FirstPageOnLeft:=0, _
          SectionType:=1, FolioPrint:=0, ReverseFolio:=0, FolioPages:=1
      ActiveDocument.SaveAs FileName:="документ1.docx", FileFormat:= _
          wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
          :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
          :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
          SaveAsAOCELetter:=False

   ChangeFileOpenDirectory "d:\новая папка\"
      Documents.Open FileName:="документ2", ConfirmConversions:=False, ReadOnly:= _
          False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _
          "", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
          Format:=wdOpenFormatAuto, XMLTransform:="", Encoding:=1251
      Selection.WholeStory
      Selection.Font.Size = 8
      WordBasic.TogglePortrait Tab:=3, PaperSize:=0, TopMargin:="2.35", _
          BottomMargin:="2.35", LeftMargin:="2", RightMargin:="2", Gutter:="0", _
          PageWidth:="29.7", PageHeight:="21", Orientation:=1, FirstPage:=0, _
          OtherPages:=0, VertAlign:=0, ApplyPropsTo:=0, FacingPages:=0, _
          HeaderDistance:="1.25", FooterDistance:="1.25", SectionStart:=2, _
          OddAndEvenPages:=0, DifferentFirstPage:=0, Endnotes:=0, LineNum:=0, _
          StartingNum:=1, FromText:=wdAutoPosition, CountBy:=0, NumMode:=0, _
          TwoOnOne:=0, GutterPosition:=0, LayoutMode:=0, CharsLine:=41, LinesPage:= _
          40, CharPitch:=220, LinePitch:=360, DocFontName:="Основной текст", _
          DocFontSize:=11, PageColumns:=1, TextFlow:=0, FirstPageOnLeft:=0, _
          SectionType:=1, FolioPrint:=0, ReverseFolio:=0, FolioPages:=1
      ActiveDocument.SaveAs FileName:="документ2.docx", FileFormat:= _
          wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
          :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
          :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
          SaveAsAOCELetter:=False
       End Sub
[/vba]
Так вот. Колличество документов всегда разное и если какого нибудь не хватает, появляется сообщение run-time error '5174' file not found

Как сделать так чтоб если файл не найден, макрос переходил к выполнению следующему блоку команд? Спасибо.Удалено. Нарушение Правил форума
 
Ответить
СообщениеПриветствую вас форумчане. У меня тут такая загадка образовалась. Не знаю как ее разгодать. Есть макрос который открывает документ без расширения, выставляет необходимые параметры шрифта и сохраняет его уже в word, Таких документов много, собственно вот код.
[vba]
Код

Sub макрос1()
     ChangeFileOpenDirectory "d:\новая папка\"
      Documents.Open FileName:="документ1", ConfirmConversions:=False, ReadOnly:= _
          False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _
          "", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
          Format:=wdOpenFormatAuto, XMLTransform:="", Encoding:=1251
      Selection.WholeStory
      Selection.Font.Size = 8
      WordBasic.TogglePortrait Tab:=3, PaperSize:=0, TopMargin:="2.35", _
          BottomMargin:="2.35", LeftMargin:="2", RightMargin:="2", Gutter:="0", _
          PageWidth:="29.7", PageHeight:="21", Orientation:=1, FirstPage:=0, _
          OtherPages:=0, VertAlign:=0, ApplyPropsTo:=0, FacingPages:=0, _
          HeaderDistance:="1.25", FooterDistance:="1.25", SectionStart:=2, _
          OddAndEvenPages:=0, DifferentFirstPage:=0, Endnotes:=0, LineNum:=0, _
          StartingNum:=1, FromText:=wdAutoPosition, CountBy:=0, NumMode:=0, _
          TwoOnOne:=0, GutterPosition:=0, LayoutMode:=0, CharsLine:=41, LinesPage:= _
          40, CharPitch:=220, LinePitch:=360, DocFontName:="Основной текст", _
          DocFontSize:=11, PageColumns:=1, TextFlow:=0, FirstPageOnLeft:=0, _
          SectionType:=1, FolioPrint:=0, ReverseFolio:=0, FolioPages:=1
      ActiveDocument.SaveAs FileName:="документ1.docx", FileFormat:= _
          wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
          :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
          :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
          SaveAsAOCELetter:=False

   ChangeFileOpenDirectory "d:\новая папка\"
      Documents.Open FileName:="документ2", ConfirmConversions:=False, ReadOnly:= _
          False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _
          "", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
          Format:=wdOpenFormatAuto, XMLTransform:="", Encoding:=1251
      Selection.WholeStory
      Selection.Font.Size = 8
      WordBasic.TogglePortrait Tab:=3, PaperSize:=0, TopMargin:="2.35", _
          BottomMargin:="2.35", LeftMargin:="2", RightMargin:="2", Gutter:="0", _
          PageWidth:="29.7", PageHeight:="21", Orientation:=1, FirstPage:=0, _
          OtherPages:=0, VertAlign:=0, ApplyPropsTo:=0, FacingPages:=0, _
          HeaderDistance:="1.25", FooterDistance:="1.25", SectionStart:=2, _
          OddAndEvenPages:=0, DifferentFirstPage:=0, Endnotes:=0, LineNum:=0, _
          StartingNum:=1, FromText:=wdAutoPosition, CountBy:=0, NumMode:=0, _
          TwoOnOne:=0, GutterPosition:=0, LayoutMode:=0, CharsLine:=41, LinesPage:= _
          40, CharPitch:=220, LinePitch:=360, DocFontName:="Основной текст", _
          DocFontSize:=11, PageColumns:=1, TextFlow:=0, FirstPageOnLeft:=0, _
          SectionType:=1, FolioPrint:=0, ReverseFolio:=0, FolioPages:=1
      ActiveDocument.SaveAs FileName:="документ2.docx", FileFormat:= _
          wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
          :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
          :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
          SaveAsAOCELetter:=False
       End Sub
[/vba]
Так вот. Колличество документов всегда разное и если какого нибудь не хватает, появляется сообщение run-time error '5174' file not found

Как сделать так чтоб если файл не найден, макрос переходил к выполнению следующему блоку команд? Спасибо.Удалено. Нарушение Правил форума

Автор - amdmsn
Дата добавления - 09.07.2014 в 14:35
_Boroda_ Дата: Среда, 09.07.2014, 14:42 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
В код не вникал. Для
если файл не найден, макрос переходил к выполнению следующему блоку команд
достаточно перед командой, приводящей к ошибке (или вообще в самом начале макроса) написать
On Error Resume Next - пропускает все ошибки
Еще можно написать On Error Goto A (вместо А можно писать что угодно - это как-бы метка для ссылки)
А после команды (или в конце макроса) - On Error Goto 0 - возвращает возможность "ругаться"
См. подробнее


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВ код не вникал. Для
если файл не найден, макрос переходил к выполнению следующему блоку команд
достаточно перед командой, приводящей к ошибке (или вообще в самом начале макроса) написать
On Error Resume Next - пропускает все ошибки
Еще можно написать On Error Goto A (вместо А можно писать что угодно - это как-бы метка для ссылки)
А после команды (или в конце макроса) - On Error Goto 0 - возвращает возможность "ругаться"
См. подробнее

Автор - _Boroda_
Дата добавления - 09.07.2014 в 14:42
amdmsn Дата: Среда, 09.07.2014, 14:55 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо Вам большое. Вы мне очень помогли.
 
Ответить
СообщениеСпасибо Вам большое. Вы мне очень помогли.

Автор - amdmsn
Дата добавления - 09.07.2014 в 14:55
amdmsn Дата: Среда, 09.07.2014, 15:08 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Всё работает на ура, а можно прописать команду чтоб он не создавал пустые документы если пропускает ошибку?
 
Ответить
СообщениеВсё работает на ура, а можно прописать команду чтоб он не создавал пустые документы если пропускает ошибку?

Автор - amdmsn
Дата добавления - 09.07.2014 в 15:08
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Пропустить блок команд, если файл бъёт ошибку (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!