powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / болванка VBA
21 сообщений из 21, страница 1 из 1
болванка VBA
    #36559924
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Слышал что то про болванки, как ее можно сделать, и сложно ли это.
Возможно ли через болванку открыть книгу, и форму, а после открытие болванка закроется.
...
Рейтинг: 0 / 0
болванка VBA
    #36559956
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail, вопрос не вполне понятен. Что, по-Вашему, может быть такой болванкой?
Вот пример: создаёте скрипт VBS, из которого запускаете Excel. Дальше, управляя из того же VBS Excel, открываете в нёй необходимые Вам книги.
Вы хотели узнать о такой возможности?
...
Рейтинг: 0 / 0
болванка VBA
    #36559958
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlth,
Да сам пока не знаю. Видел один пример открывается форма в книге без листов, с этой формы идет управление.
...
Рейтинг: 0 / 0
болванка VBA
    #36559973
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail, "без листов" - невозможно: в книге должен быть хотя бы один лист. Причём видимый. А вот скрыть Excel проблемы не составляет (т.е. возможна видимость только формы (или нескольких форм)
...
Рейтинг: 0 / 0
болванка VBA
    #36559980
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlthsegail, вопрос не вполне понятен. Что, по-Вашему, может быть такой болванкой?
Вот пример: создаёте скрипт VBS, из которого запускаете Excel. Дальше, управляя из того же VBS Excel, открываете в нёй необходимые Вам книги.
Вы хотели узнать о такой возможности?
Я так понял скрипт VBS пишется в блокноте. Как написать открытие файл xlc и форму данного файла, а после форма VBS закрывается.
...
Рейтинг: 0 / 0
болванка VBA
    #36559995
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
segail, этот текст сохрани как name.vbs - откроет ВашФайл.xls из папки со скриптом с разрешёнными макросами, несмотря на уровень безопасности. Правда, запуск vbs тоже можно запретить :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Option Explicit
Dim objFSO, objExcel, ExcelPath, wb

Set objFSO = CreateObject("Scripting.FileSystemObject") 
ExcelPath = objFSO.GetParentFolderName(WScript.ScriptFullName) 
Set objExcel = CreateObject("Excel.Application")
Set wb = objExcel.Workbooks.Open (ExcelPath & "\ВашФайл.xls")
objExcel.Visible = True
Set objExcel = Nothing
...
Рейтинг: 0 / 0
болванка VBA
    #36560006
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailЯ так понял скрипт VBS пишется в блокноте. Как написать открытие файл xlc и форму данного файла, а после форма VBS закрывается.
Код: plaintext
1.
2.
3.
4.
5.
Dim objExcel
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = false
objExcel.Workbooks.Open "С:\...\ИмяФайла.xls"
'objExcel.Visible = true
Set objExcel = Nothing
...
Рейтинг: 0 / 0
болванка VBA
    #36560017
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlthsegailЯ так понял скрипт VBS пишется в блокноте. Как написать открытие файл xlc и форму данного файла, а после форма VBS закрывается.
Код: plaintext
1.
2.
3.
4.
5.
Dim objExcel
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = false
objExcel.Workbooks.Open "С:\...\ИмяФайла.xls"
'objExcel.Visible = true
Set objExcel = Nothing

Нормальный вариант. Только он пока ничего не дает. То есть клик по файлу vbs открывает Книгу, равносильно тому что клик по файлу xlc также открывает его
Можно ли выполнить код данной книги
Application.Visible = False ' Скрыть книгу.
UserForm3.Show ‘ Открыть форму
...
Рейтинг: 0 / 0
болванка VBA
    #36560041
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail, код
Код: plaintext
UserForm3.Show ‘ Открыть форму
выполните в Вашей книге, разместив его в процедуре Workbook_Open()
...
Рейтинг: 0 / 0
болванка VBA
    #36560044
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
segail,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Option Explicit
Dim objFSO, objExcel, ExcelPath

Set objFSO = CreateObject("Scripting.FileSystemObject") 
ExcelPath = objFSO.GetParentFolderName(WScript.ScriptFullName) 
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open (ExcelPath & "\ВашФайл.xls")
objExcel.Visible = True
Set objExcel = Nothing

Так можно. В файле пишешь
Код: plaintext
1.
2.
Private Sub Workbook_Open()
UserForm1.Show
End Sub
само окно Экселя скрываешь.
Получается интересный эффект - открывется только форма. При закрытии формы показывется серое окно Экселя. Но вероятно если с закрытием формы закрывать Эксель, то и окна не будет.
...
Рейтинг: 0 / 0
болванка VBA
    #36560048
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlth,
Я понимаю, но при выполнение макроса открытие книги с другого файла xlc, долго объяснять но вариант с процедурой Workbook_Open() не подходит.
...
Рейтинг: 0 / 0
болванка VBA
    #36560057
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да вариант открытие формы без окна, а закрытие окна и формы (этот код уже есть), эффект в том что работаем без окна Excel изначально.
...
Рейтинг: 0 / 0
болванка VBA
    #36560077
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
segail,
попробуй архив. На форме только кнопка закрытия, кнопок для записи в таблицу не делал.
Будешь тестировать - смотри, что бы в памяти не оставались незакрытые Эксели :) , у меня закрываются корректно.
...
Рейтинг: 0 / 0
болванка VBA
    #36560103
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121segail,
попробуй архив. На форме только кнопка закрытия, кнопок для записи в таблицу не делал.
Будешь тестировать - смотри, что бы в памяти не оставались незакрытые Эксели :) , у меня закрываются корректно.
Да получилось, эффектно выглядит. А вообще таким методом пользуются, или это не надежно?
...
Рейтинг: 0 / 0
болванка VBA
    #36560122
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю. Пока реально не пользуюсь. Так, как вариант, если макросы админы вдруг отключат... Правда, не проверял на 2007 Экселе - на 2000 работает.
Если на работе запретят макросы, придётся так их запускать. Но могут запретить и скрипты... Вот тогда работа встанет. Всё делать вручную, как раньше, уже невозможно.
...
Рейтинг: 0 / 0
болванка VBA
    #36560154
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailvlth,
Я понимаю, но при выполнение макроса открытие книги с другого файла xlc, долго объяснять но вариант с процедурой Workbook_Open() не подходит.
Не понимаю, какая разница - хоть Workbook_Open(), хоть Auto_Open(), хоть это:
Код: plaintext
objExcel.Run "ИмяФайла.xls!ИмяПроцедуры"'запускаемая процедура
...
Рейтинг: 0 / 0
болванка VBA
    #36560180
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlth,
Проблемка не большая. У меня здесь в коде есть такой момент, открытие файла с формы, и открытие формы данного файла, и закрытие формы и файла в котором производилось открытие (все это происходит при не видимых книгах. Вроде все нормально. Но если открыть файл через name.vbs то последующий переход, который я описал выше, не получается форма открываемого файла не отображается. (то есть отображается кратковременно и закрывается.)
...
Рейтинг: 0 / 0
болванка VBA
    #36560209
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail, исследуйте свой код! Вам Shocker.Pro неоднократно про это говорил: используйте возможности редактора. В данном случае Вам помогут точки останова и оператор Stop. Разместите Stop где-нить в процедуре UserForm_Initialise, например, а далее жмите F8 - пошаговое выполнение кода.
...
Рейтинг: 0 / 0
болванка VBA
    #36560220
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
segail,
проблема в том, что в vbs есть строка
Код: plaintext
objExcel.Visible = False
и далее этот экземпляр Экселя так и не показывается.
Вы сами так просили. Тогда далее, когда нужно показать Эксель, пропишите типа
Код: plaintext
1.
2.
Private Sub CommandButton2_Click()
Application.Visible = True
End Sub
...
Рейтинг: 0 / 0
болванка VBA
    #36560232
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121,
Это понятно если objExcel.Visible = False так и должно быть. Просто когда происходит смена файлов и форм (о чем я писал выше) то при смене форма мелькает и исчезает (это происходит если изначально был запуск с файла name.vbs). Если же производить запуск непосредственно кликом по файлу Excel. То такой проблемы не наблюдается хотя окны тоже скрыты.
...
Рейтинг: 0 / 0
болванка VBA
    #36560238
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При первоначальном открытии формы не посредственно с файла. Процесс который описал выше происходит нормально.
Код: plaintext
1.
2.
3.
Sub Кнопка1_Щелчок()
    Application.Visible = False 'Скрыть книгу.
    UserForm3.Show
End Sub.
А вот если через vbs то… см.выше
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / болванка VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]