Добрый день В наличие были 2 темы аналогичные на форме изучил ответа не нашел мб не понял 462462(2)
изначально был макрос экспорта из эксель в word затем запуск макроса в word решил их совместить врубил tools references - ofice MS word 16 для форматирования текста перенес данный код в эксель при первичном запуске все идеально код проходит создает файл меняет форматы все отлично
но при повторном запуске макроса Word.Application. уходит в ошибку. после завершения ошибки код снова проходит. т.е работает через раз Основная ошибка идет при повторном обращении Word.Application после завершения 462 ошибки поломки код снова проходит.
Код
With objworddoc
Word.Application.ScreenUpdating = 0
Добрый вечер Не могу понять почему выдаётся ошибка при повторном пропуске ошибки vba
Суть макроса фильтрует в одной таблице данные несколько раз и переносит только видимые ячейки из таблицы в определённый диапазон но фильтрация может быть не только которые есть значения в таблице а даже которых нет в случае ошибки переходит к точке воспроизведения макроса. но если уже повторно назначаешь on error go to point.... то он не пропускает ошибку и не переходит к нужной точке воспроизведения а выдает ошибку срабатывания макроса <Не найдено ни одной ячейки, удовлетворяющей указанным условиям.> в файле лист 1 modul5
Код
Sub testcoppaste()
Range("Таблица3[проц]").Select
ActiveSheet.ListObjects("Таблица3").Range.AutoFilter Field:=2, Criteria1:="20"
On Error GoTo point2
Range("Таблица3[проц]").SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Range("A8").Select
ActiveSheet.Paste
point2:
Range("Таблица4[проц]").Select
ActiveSheet.ListObjects("Таблица4").Range.AutoFilter Field:=2, Criteria1:="10"
On Error GoTo point3 ' тут должен был перейти на точку 3 но не переходит а выдает ошибку
Range("Таблица4[проц]").SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Range("b8").Select
ActiveSheet.Paste
point3:
End Sub
но последние 4 знака динамические и меняются постоянно & "****.xml" & "*.xml" пробовал менять концовки на **** но тогда подхват файла идет если есть в конце названия **** как правильно прописать рандомное окончание чтоб не делать дубликаты
Dim path_rik_fail As String Dim save_path_rik_fail As String Dim namerikDoc As String Dim objwrdapp As Object Dim objworddoc As Object 'activeworkbook.Path &"\" ткущее местоположение
path_rik_fail = ThisWorkbook.Sheets("экспорт_ворд").Range("rik_fail") ' указываем страницу и путь к нашему файлу save_path_rik_fail = ActiveWorkbook.Path & "\" ' указываем путь и путь к сохранению файла save_path_rik_fail = ThisWorkbook.Sheets("экспорт_ворд").Range("rik_save_fail") вручную namerikDoc = "Протокол рик шаблон" ' название нашего шаблона Set objwrdapp = CreateObject("word.application") ' создание вордовского документа из приложения objwrdapp.Visible = True 'делали наш объект видимым Set objworddoc = objwrdapp.documents.Open(path_rik_fail & namerikDoc & ".docx") 'прописываем путь к нашему объекту для открытия. With objworddoc .bookmarks("д_инв").Range.Text = ThisWorkbook.Sheets("рик").Range("i2") ' в нашу закладку д_инв заносим нашу дату. .bookmarks("д_инв1").Range.Text = ThisWorkbook.Sheets("рик").Range("i2")
End With objworddoc.SaveAs Filename:=save_path_rik_fail & "Рик от " & ThisWorkbook.Sheets("рик").Range("i2") & " " & ThisWorkbook.Sheets("рик").Range("h2") & ".docx"
End Sub
хотел бы откорректировать но знаний у самоучки не хватает.
В чем суть корректировки у меня все файлы лежать в определенных папках путях c них эксель подвязывает шаблоны . но хотелось бы каждых образец шаблона ворд был внутри экселя. и ненужно было перепривязывать пути.
когда вставляешь объект ворд в эксель он становиться shape. то есть объектом похож на картинку.
как пытался решить данную проблему: 1. вариант подвязать пути напрямую к объекту но тогда закладки .bookmarks("д_инв1").Range.Text = ThisWorkbook.Sheets("рик").Range("i2") становятся ошибочными
2. вариант вставлял данные шаблоны как объекты в эксель. и пытался из экселя данные объекты экспортировать их как файл word в текущую папку. (провал не получилось) а затем путем из текущей директории подхватывать данные шаблоны.
Вдруг кто знает как можно сделать 1. настроить прямую подвязку из объектов (ворд) в excele или 2 вариант сохраненный объект в экселе экспортировать в текущую папку сохранив формат ворда а от туда я уже сам восстановлю подвязку пути шаблона