Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Завершение процесса Excel в ходе работы макроса, Завершается процесс Excel при закрытии книги в режиме visible = false
 
Вопрос актуален. Вся суть вопроса - в чем отличие процесса закрытия файла в режиме включенной видимости и отключенной? Что происходит при закрытии вспомогательного файла, что завершается процесс?
Завершение процесса Excel в ходе работы макроса, Завершается процесс Excel при закрытии книги в режиме visible = false
 
К сожалению, я на работе без доступа в интернет, а с планшета ничего не смогу сделать. Но могу описать логику.

Открывается стартер. Сразу  в процедуре Workboo_open установлено application.visible = false, затем userform 1. Open. Модальность открытия формы роли не играет.
На форме нажимается кнопка, форма сворачивается до небольших размеров, меняется надпись на лэйбле, открывается книга, содержащая макрос, который запускается сам при открытии книги, а не через Application.run из стартера. После того, как макрос в отдельной книге отрабатывает, в стартере происходит закрытие этой книги, и, соответственно, вылет процесса.
Завершение процесса Excel в ходе работы макроса, Завершается процесс Excel при закрытии книги в режиме visible = false
 
Добрый день!

Возникла проблема, причины которой не могу найти. Есть макрос, который имеет userform, из которой запускается макрос. Этот стартовый макрос открывает другие книги, содержащие макросы, и закрывает их после выполнения. Все происходит в фоновом режиме, только userform остаётся видимой.
По непонятной причине, при закрытии любой книги завершается процесс excel. Если включить видимость, закрыть книгу, а потом снова отключить - все продолжает работать.  при этом, такая ситуация была не всегда, а появилась после обновления макроса - стартера.

Скажите, пожалуйста, в чем причина вылета процесса при закрытии файла?
Использование VBA в работе сo сторонними приложениями.
 
Цитата
SuperCat написал:
Вы хотите со своего компа управлять интерфейсом, например, Management Studio (в случае с SQL Server'ом) на другом компе?  
С этим мне все понятно. Вариант с работой с библиотеками приложений меня вполне устраивает. Плюс вот еще Autoit посоветовали, хотя я еще не посмотрел, счем это едят.
Цитата
The_Prist написал:
А нет никаких специальных книг, типа: "Как из Excel работать с другими приложениями".
MDSNи справка - они как-то "без души" написаны. Сухо. Но может есть какие-то хорошие издания, посвященные углубленному уровню изучения VBA? Я имею ввиду не просто книги, т.к. такие наверняка есть, а те, которые кто-то прочел и может отрекомендовать, как действительно полезную литературу.
Использование VBA в работе сo сторонними приложениями.
 
Смысл понятен. Вариант весьма неплох. Ну а что по поводу литературы по предмету?) Кто-то ведь, да читал что-то.
Использование VBA в работе сo сторонними приложениями.
 
Вы меня неправильно поняли. Я не имею ввиду подключение к самим базам. Я имею ввиду работу с их пользовательским интерфейсом. Представьте ситуацию. Есть бд, но доступа к ней нет и не будет никогда ввиду политики безопасности. Она доступна только для просмотра имеющейся информации посредством пользовательского интерфейса. Естественно, интерфейс имеет элементы управления. Вопрос в том, можно ли задействовать эти элементы, посылая команды нажатия клавиш, например, активации текстовых полей и т.п.
Использование VBA в работе сo сторонними приложениями.
 
Доброго времени суток!

Я недавно начал изучать VBA, освоил, в принципе, ту часть, которая относится к, пожалуй, основным приложениям MS Office - Excel, Word. Но хотелось бы пойти дальше. Я знаю, что можно работать с web-страницами, но можно ли с тем же успехом использовать VBA в работе со сторонними приложениями типа СУБД, где есть поля, кнопки, фильтры, которые необходимо изменять, нажимать, выбирать?

И второй вопрос, в продолжение темы - существует ли какая-либо книга, ресурс, где структурировано, с примерами, с пояснениями описывается та часть теории VBA, о которой выше шла речь? Не в виде справочника, что есть такой-то объект, у него такие-то свойства и методы и т.п., а именно идет повествование, ну или урок. Ведь примеры кода, конечно, можно найти, или попросить написать, только от этого понимания этого кода не прибавится. А хотелось бы знать теорию. Посоветуйте, пожалуйста, что прочесть.

Заранее большое спасибо!
Изменено: AndreV - 12.12.2015 03:45:04
UserForm поверх окон всех прочих программ.
 
Действительно, все дело было в разрядности и неправильном декларировании.
Андрей VG, большое спасибо за помощь!

Вопрос исчерпан.
UserForm поверх окон всех прочих программ.
 
Сейчас посмотрю. Спасибо.
Изменено: AndreV - 26.11.2015 06:43:38
UserForm поверх окон всех прочих программ.
 
Попробовал. Но все эти темы я уже видел. И код, предложенный в них, испытывал. Форма все равно исчезает при активации окна другой программы.
Просто, пожалуйста, подскажите, что нужно декларировать, и в каком модуле (самой формы ли, стандартном ли).

Может я что-то делаю не так? Все предложенные варианты декларируются для 32-битных систем. Чтобы они работали у меня в 64-х, я просто добавляю ptrSafe перед Function. При этом, конечно, декларирование принимается, но, как уже писал ранее, форма скрывается. Может простого ptrSafe недостаточно?
UserForm поверх окон всех прочих программ.
 
Доброго времени суток!

Я, как начинающий в VBA, столкнулся с непреодолимым для меня препятствием. Я не могу сделать так, чтобы окно созданной мною формы всегда оставалось видимым, даже если я открою какую-то другую программу (браузер, почтовый клиент и т.п.).
Я очень много искал, но так и не смог найти подходящий код. Очень нужно по работе, помогите, пожалуйста!
Единственное, что нашел здесь:
Код
Private Declare Function GetForegroundWindow Lib "user32" () As Long 
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long 

Private Sub UserForm_Activate() 
SetWindowPos GetForegroundWindow, -1, 0, 0, 0, 0, 3 
Application.Visible = False 
End Sub

Но это не работает. При открытии окна другой программы форма все равно исчезает из поля зрения.
Появление "Выпадающего списка" по условиям функции "Если"., Создание скрипта по обработке документации.
 
Для примера приложу файл. На Листе 2 вопросы по алгоритму, которые следуют один за другим, в случае, если на предыдущий вопрос дан соответствующий ответ.

В примере так: если на Вопрос 1 дан ответ "нет", появляется Вопрос 1.1. Но нужно, чтобу появлялся не только Вопрос 1.1, но и выпадающий список ответов к нему в ячейке D3.
Что нужно указать в формуле в ячейке C3, чтобы он появился?
Появление "Выпадающего списка" по условиям функции "Если"., Создание скрипта по обработке документации.
 
Посмотрел. Но это не то, что мне нужно. Мне нужно чтобы при формуле: ЕСЛИ(А1="да";"Все верно";ЕСЛИ(А1="нет";"Выпадающий список";""), указать какое-то значение/функцию, которое будет возвращать в эту же или соседнюю ячейку заранее созданный именнованый выпадающий список. Что именно нужно подставить в формулу?
Появление "Выпадающего списка" по условиям функции "Если"., Создание скрипта по обработке документации.
 
Доброго времени суток!

Возникла необходимость создания шаблона по обработке однотипных документов. Алгоритм подразумевает проверку документа по стандартным вопросам. Вроде: Дкумент заполнен верно? Далее следует выпадающий список: да, нет. В случае выбора "нет" появляется следующий вопрос типа: ошибка допущена в шапке? И тут же рядом должен появиться еще один выпадающий список "да/нет".

Для возврата выпадающего списка используется функция ЕСЛИ. Как сделать так, чтобы появлялся полноценый "выпадающий список"? У меня получается вернуть список, но выбор невозможен. Либо да, либо нет, и изменить его нельзя.

Подскажите, пожалуйста, как это реализовать?
Подсчет количества звонков., Подсчет количества звонков по оператору из выгрузки данных.
 
Всем огромное спасибо! Помогли очень!
Подсчет количества звонков., Подсчет количества звонков по оператору из выгрузки данных.
 
Доброго времени суток.
Столкнулся с небольшой проблемой по работе, которую сам не могу решить. Посему вновь уповаю на помощь форумчан.
Возникла необходимость вести статистику по количеству принятых звонков. К сожалению, используемое ПО не считает корректно, поэтому решил считать в Excel, используя выгрузки данных.

Все было бы просто и легко, используя СЧЁТЕСЛИ, но есть нюансы. Когда оператор переводит звонок на кого-либо другого, ПО считает диалог с тем, на кого переводится звонок, как отдельный звонок, хотя по сути это один и тот же входящий звонок.
Поэтому необходимо следующее. Учесть два одинаковых номера, идущих один за другим в столбце B, как один звонок в случае, если в столбце C напротив этих одинаковых номеров фигурирует один и тот же оператор. При этом, если номер фигурирует в столбце B дважды, но не рядом, то каждый звонок считать отдельно (один абонент может позвонить в разное время, но попасть на одного и того же оператора).

В прикрепленном файле пример с уже посчитанным количеством звонков вручную, как это должно быть. Помогите, пожалуйста, считать это формулой, так как количество поступающих звонков далеко не 9.
Как выбрать все совпадающие значения из столбца?
 
Все удалось. Ещё раз большое спасибо!
Как выбрать все совпадающие значения из столбца?
 
В смене гораздо больше двух человек. По два я сделал как пример.
Не важно формула или макрос, главное, чтобы работало.

Спасибо за ответы, в ближайшее время попробую применить.
Как выбрать все совпадающие значения из столбца?
 
Доброго времени суток, уважаемые форумчане!

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

К сожалению, долгий поиск решения в сети не дал результатов. ВПР, ИНДЕКС+ПОИСКПОЗ, возможно, решат мою задачу, но лично у меня не получилось их применить должным образом, поэтому очень прошу Вас подсказать мне решение задачи:

Есть книга с двумя листами, на первом из которых размещен график работы, а на втором - список фамилий сотрудников, работающих в ту или иную смену, на каждый день.
Нужно получить формулу, которая бы искала все совпадения в графике по дате и типу смены, и выводила фамилии в соответствующие ячейки на листе с комплектацией смен.

Файл пример во вложении. Очень надеюсь на Ваши светлые умы.
Страницы: 1
Наверх