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

Вход

Регистрация

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

 

= Мир MS Excel/Активация окна Excel после внесения в него подготовленных да - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Активация окна Excel после внесения в него подготовленных да (Макросы/Sub)
Активация окна Excel после внесения в него подготовленных да
oleg1989 Дата: Пятница, 31.12.2021, 01:42 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Доброго времени суток! Есть один небольшой скрипт, суть его работы:

1) есть основной файл "1.xlsm", в который внесены данные для заполнения шаблоном документов на основании заранее подготовленных значений (заполнение значительной части документов производится в Word на основании сопоставления "Закладок" в этом приложении), т.е. этот скрипт копирует файл из одного каталога в другой с внесением в него определённых значений в заранее вставленные "Закладки" файла Word

скрипт находится в файле "1.xlsm"

2) после выполнения скрипта получается 3 файла:
- "1.xlsm" со скриптом
- исходный шаблон ".... .doc" размещён в одном каталоге (адрес данного файла указан в ячейке C30 файла "1.xlsm")
- новый файл ".... .doc" помещается в другом каталоге (адрес данного файла указан в ячейке C33 файла "1.xlsm")

3) по итогу:
- активируется окно приложения Word и открывается окно "Проводника", где сохранён новый файл. далее сотрудник, которому нужен заполненный шаблон переносит его куда-то в другой каталог (или отправляет кому-то на почту), т.е. по своему усмотрению

Но появились шаблоны некоторых документов и в Excel, в не Word, для которых я сделал похожий скрипт (текст ниже) и возникли небольшие проблемы при его выполнении:

1) код "objExcel.Application.Visible = False" должен скрывать окно программы Excel при внесении данных, но окно Excel появляется на 1-2 секунды и потом закрывается

2) код "Workbooks(2).ActivateActive" и "Window.WindowState = xlMaximized" должен активировать окно с новым файлом Excel, но активации окна не производится. код "Windows(".....xls").Activate" не подходит, т.к. имя новой таблицы может меняться и указано это только в ячейке C31 файла "1.xlsm", т.е. вручную каждый раз прописывать не вариант

Помогите, пожалуйста, разобраться с этими проблемками ...

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

Заранее спасибо

К сообщению приложен файл: 0191343.png(192.1 Kb) · 3690910.png(191.5 Kb)


Сообщение отредактировал oleg1989 - Пятница, 31.12.2021, 01:46
 
Ответить
СообщениеДоброго времени суток! Есть один небольшой скрипт, суть его работы:

1) есть основной файл "1.xlsm", в который внесены данные для заполнения шаблоном документов на основании заранее подготовленных значений (заполнение значительной части документов производится в Word на основании сопоставления "Закладок" в этом приложении), т.е. этот скрипт копирует файл из одного каталога в другой с внесением в него определённых значений в заранее вставленные "Закладки" файла Word

скрипт находится в файле "1.xlsm"

2) после выполнения скрипта получается 3 файла:
- "1.xlsm" со скриптом
- исходный шаблон ".... .doc" размещён в одном каталоге (адрес данного файла указан в ячейке C30 файла "1.xlsm")
- новый файл ".... .doc" помещается в другом каталоге (адрес данного файла указан в ячейке C33 файла "1.xlsm")

3) по итогу:
- активируется окно приложения Word и открывается окно "Проводника", где сохранён новый файл. далее сотрудник, которому нужен заполненный шаблон переносит его куда-то в другой каталог (или отправляет кому-то на почту), т.е. по своему усмотрению

Но появились шаблоны некоторых документов и в Excel, в не Word, для которых я сделал похожий скрипт (текст ниже) и возникли небольшие проблемы при его выполнении:

1) код "objExcel.Application.Visible = False" должен скрывать окно программы Excel при внесении данных, но окно Excel появляется на 1-2 секунды и потом закрывается

2) код "Workbooks(2).ActivateActive" и "Window.WindowState = xlMaximized" должен активировать окно с новым файлом Excel, но активации окна не производится. код "Windows(".....xls").Activate" не подходит, т.к. имя новой таблицы может меняться и указано это только в ячейке C31 файла "1.xlsm", т.е. вручную каждый раз прописывать не вариант

Помогите, пожалуйста, разобраться с этими проблемками ...

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

Заранее спасибо


Автор - oleg1989
Дата добавления - 31.12.2021 в 01:42
doober Дата: Пятница, 31.12.2021, 09:56 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 859
Репутация: 307 ±
Замечаний: 0% ±

Excel 2010
Set objExcel = CreateObject("Excel.Application")
Не понимаю смысла в этом .[vba]
Код
Sub Test()
    Dim Sh As Worksheet, wb As Workbook, FileStart As String, FileNew As String
    Application.ScreenUpdating = False
    Set Sh = ThisWorkbook.Worksheets("1")
    FileSt = Sh.Range("C30").Value
    FileNew = Sh.Range("C33").Value
    Set wb = Workbooks.Open(FileSt)
    wb.SaveAs Filename:=FileNew, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    wb.Activate
    Application.Wait (Now() + TimeValue("00:00:02"))
    Shell "cmd /C start """" ""\\fuib.com\kho\DOCUMENTYOOKUTU\Кулиничев\! открытие счетов\avto\готовые документы\""", vbNormalFocus
    ThisWorkbook.Close (True)
    Application.ScreenUpdating = True

End Sub
[/vba]


 
Ответить
Сообщение
Set objExcel = CreateObject("Excel.Application")
Не понимаю смысла в этом .[vba]
Код
Sub Test()
    Dim Sh As Worksheet, wb As Workbook, FileStart As String, FileNew As String
    Application.ScreenUpdating = False
    Set Sh = ThisWorkbook.Worksheets("1")
    FileSt = Sh.Range("C30").Value
    FileNew = Sh.Range("C33").Value
    Set wb = Workbooks.Open(FileSt)
    wb.SaveAs Filename:=FileNew, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    wb.Activate
    Application.Wait (Now() + TimeValue("00:00:02"))
    Shell "cmd /C start """" ""\\fuib.com\kho\DOCUMENTYOOKUTU\Кулиничев\! открытие счетов\avto\готовые документы\""", vbNormalFocus
    ThisWorkbook.Close (True)
    Application.ScreenUpdating = True

End Sub
[/vba]

Автор - doober
Дата добавления - 31.12.2021 в 09:56
oleg1989 Дата: Суббота, 01.01.2022, 22:11 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Sub Test()


спасибо!
 
Ответить
Сообщение
Sub Test()


спасибо!

Автор - oleg1989
Дата добавления - 01.01.2022 в 22:11
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Активация окна Excel после внесения в него подготовленных да (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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