Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кнопка возврата, xl,VBA 
:(
    Опции темы
Staruha
Дата 20.6.2004, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



Есть таблица xl ,куда заносятся данные через форму.На форме - кнопка,Которая открывает другой файл xl,в котором есть кнопка "сохранить". И вот эта кнопка должна проделать обратный путь-
активизировать первый файл ,открыть форму и нажать кнопку "Сохранить".Все что у меня получилось это активизировать лист

Private Sub CommandButton1_Click()
Windows("Форма заказа.xls").Activate
ActiveWindow.WindowState = xlNormal
End Sub



--------------------
Возмездие настигнет
PM MAIL   Вверх
boevik
Дата 21.6.2004, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Старуха , могу предложить следующий вариант решения:
Код
Private WithEvents xlAppp2    As Excel.Application
Public Sub s()
  Set xlAppp2 = New Application
  xlAppp2.Workbooks.Open "c:\Book1.xls"   'открываем второй excel
  xlAppp2.Visible = True                  'показываем его
  Application.Visible = False             'скрываем первый
End Sub

Private Sub xlAppp2_WorkbookBeforeClose(ByVal Wb As Excel.Workbook, Cancel As Boolean)
  'перед закрытием второго, покажем первый excel
  Application.Visible = True

End Sub



--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Staruha
Дата 21.6.2004, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



Спасибо.Пойду разбираться


--------------------
Возмездие настигнет
PM MAIL   Вверх
Staruha
Дата 21.6.2004, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



Вот это -все есть.Дальше надо ,после открытия первого xl открыть форму UserForm2 и нажать переключатель OptionBatton3 и кнопку "Сохранить" .UserForm.Show - не проходит(Эта форма открывается тоже кнопкой ,но я не знаю как кнопки программно нажимать.Подскажите.Я запомню на всю жизнь.)


--------------------
Возмездие настигнет
PM MAIL   Вверх
boevik
Дата 21.6.2004, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Старуха, что то я запутался.
Первый excel открывает второй, что после этого происходит? И для чего тебе второй? И что происходит в первом после закрытия второго?


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Staruha
Дата 21.6.2004, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



Основная работа в первом xl.Туда через форму вводятся данные ,которые там же общитываются.Но есть сложные(нестандартные) расчеты которые находятся во втором xl.Я нажимаю кнопку на форме UserForm2,попадаю во второй xl. Вношу данные происходит перерасчет и нажимаю кнопку Сохранить.Эта кнопка должна Активизировать первый xl(см.выше),открыть форму UserForm2 нажать переключатель ,что бы xl1 считывал данные из второго xl ,а не из программы,и Нажать кнопку ,которая все это вставит на место.Вручную все это делается.Хотелось бы кнопки программно нажимать


--------------------
Возмездие настигнет
PM MAIL   Вверх
boevik
Дата 21.6.2004, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Старуха, и что именно ты хочешь автоматизировать?

А кнопочки не надо нажимать.
Попробуй вызвать обработчик кнопки. (Перед этим объяви его как Public)

Это сообщение отредактировал(а) boevik - 21.6.2004, 11:04


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
bankuss
Дата 21.6.2004, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 26.3.2004

Репутация: 3
Всего: 4



пользуйся методами
workbooks("NAME").close - (закрыть книгу)
workbooks("NAME").save или workbooks("NAME").saveas (путь) - (сохранить книгу)

хотя если в книге были изменения метод close сам спросит о сохранении

а чтобы программно выполнить процедуру "повешенную" на кнопку, можешь сделать так:

создаешь SUB имя процедуры , копируешь туда команды из кнопки
и вставляешь в событие книги, например activate команду call имя процедуры
и при активизации книги excel выполнится то что тебе нужно

PM MAIL   Вверх
Staruha
Дата 21.6.2004, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



Попробуй вызвать обработчик кнопки. (Перед этим объяви его как Public Z я с твоим советом как мартышка и очки.
А вот с bankusom дальше ушла.Осталось кнопку нажать в форме.В свойстве книги xl1 не пляшет.Пляшет только ,когда переключатель - True


--------------------
Возмездие настигнет
PM MAIL   Вверх
boevik
Дата 21.6.2004, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Старуха,
Цитата
Осталось кнопку нажать в форме.
Что вызывает нажатие кнопки? Вызывает обработчик события, обычно состоящее из имени объекта и имени события.
К примеру, Command1_Click
Вот и вызови его там где тебе надо.
А если надо вызвать из вне формы, то обработчик объявляешь как Public и вызываешь
Код
UserForm1.Command1_Click



--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Staruha
Дата 21.6.2004, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



О да.Я думаю это то что надо,Большое спасибо.Там Sergey объявился


--------------------
Возмездие настигнет
PM MAIL   Вверх
Staruha
Дата 26.6.2004, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



UserForm1.Command1_Click - это работает внутри одного проекта.А xl1 и xl2 - два разных документа и форму в xl1 xl2 не видит.Я думаю Public будет работать ,если два xl-я загнать в один проект.А как?


--------------------
Возмездие настигнет
PM MAIL   Вверх
boevik
Дата 27.6.2004, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Старуха
Цитата
UserForm1.Command1_Click - это работает внутри одного проекта.А xl1 и xl2 - два разных документа и форму в xl1 xl2 не видит.


Всё верно, поэтому давай обманем xl1 smile.gif

Сделай макров в xl2 (в котором расположена форма), которое эмулирует нажатие кнопки.
Из другого проекта (xl1) запускай это макро.



--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Staruha
Дата 27.6.2004, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



Давай обманем.Завтра.


--------------------
Возмездие настигнет
PM MAIL   Вверх
Staruha
Дата 28.6.2004, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



If (OptionButton3.Value = True And TextBox21.Text = 1) Then

CommandButton2_Click
End If

Обмануть не получилося.А получилося так
в xl1 в ячейке ВВ1 формула: =xl2;AA1.
При нажатии кнопки"Сохранить" во втором xl в первом-АА1=1
TextBox21.Text = Range("BB1")
Работает



--------------------
Возмездие настигнет
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1138 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.