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

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

Запускаю процедуру установки фильтра (кнопка на листе)
Получаю результат с 0 строчек.
В ручную захожу в  "квадритики фильтра", смотрю критерий - он правильный для каждого из квадратиков, жму кнопку ENTER и на экране появляются строки удовлетворяющие условию фильтра.
Я хочу избежать процедуры ручного подтверждения критерия фильтра. Хочу чтобы нужные строки сразу отображались в окне..

Пример в приложении
Не отображается содержимое формы, запуск .Show vbModeless происходит без отображения содержимого окна (((
 
Спасибо Дмитрий!
Вы волшебник !!!
Не отображается содержимое формы, запуск .Show vbModeless происходит без отображения содержимого окна (((
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
а должна быть ДО этого вызова.
Так я и говорю, не получается ((
Вот фрагмент экрана после раскомментирования  
Не отображается содержимое формы, запуск .Show vbModeless происходит без отображения содержимого окна (((
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
Раскомментируйте и все будет как хотите.
Увы нет.
Не помогает.
У меня по крайней мере именно так (vba 2010)  ((
К тому же, как вы понимаете окно должно само закрыться по завершению проверки связи
Цитата
Дмитрий(The_Prist) Щербаков написал:
А зачем Вы в коде закомментировали строку .SHOW vbModeless
Эта строка уже встречается в форме в вызове .CreateLoad
Изменено: vitorian - 07.08.2019 16:53:47
Не отображается содержимое формы, запуск .Show vbModeless происходит без отображения содержимого окна (((
 
Добрый день.
Помогите пожалуйста разобраться
Задача:
При открытии книги необходимо проверить существование возможности доступа к базе.
Для этого в  Workbook_Open запускается процедура вызывающая форму. Назначение формы только в том, чтобы на время проверки связи сообщить что такая проверка идет.
Форма вызывается командой .SHOW vbModeless
после этого запускается процедура проверки, по завершении которой окно должно закрыться.

Все работает нормально за исключением одного.
ОКНО ВЫСКАКИВАЕТ ПУСТОЕ!!

Как это побороть? Помогите!

Файл приложен
Вывод диалога предпросмотра макросом
 
Разобрался.
Тем кому интересно.
Оказывается нельзя перед PrintPreview отключать ScreanUpdate. Тогда  отключается и показ кнопок управления окном предпросмотра. ))
Причем проявляется это только в 2010
Спасибо всем. Тема закрыта
Изменено: vitorian - 09.06.2018 14:43:34
Вывод диалога предпросмотра макросом
 
Цитата
Sanja написал:
меня такой вариант открывает нормальное окно предпросмотра со всеми кнопками. Тоже 2010-й (x32)
Действительно!. Запустил собственный пример на 2010 и все работает штатно.  А рабочий файл по прежнему козлит. (все симптомы описанные выше). ((
Буду разбираться. благодарю всех откликнувшихся.
Вывод диалога предпросмотра макросом
 
Цитата
_Boroda_ написал: ActiveWindow.SelectedSheets.PrintPreview
Надо признать что приведенный здесь код в целом дает приемлемую картину. Диалоговое окно выскакивает нормально управляемое.
Но мне необходимо необходимо выводить на предпросмотр  лишь выделенный фрагмент и его потом масштабировать на весь лист.
Код
ActiveSheet.Range("A5:O20").PrintPreview
такой вариант приводит (в 2010) к появленю окна предпросмотра без кнопок управления

Как этого добиться поставленной задачи без ущерба окна Preview ?
Вывод диалога предпросмотра макросом
 
К сожалению нет. Все описанное в предложенном вами топике исключительно верно. И то что в 2010 PrintPreview выглядит отвратительно. И способ вызова штатного диалога предпросмотра и печать не достигается. и то что сочетание клавиш работает для Excel, а не для VBA.
Но ответа на свой вопрос я так и не нашел.
PrintPreview не вариант. SendKeys "^P" не отрабатывается.
Вот взгляните на выщелоченный пример.

Как бороться то?
Вывод диалога предпросмотра макросом
 
Добрый день.
Не могу добиться выхода на диалог предпросмотра перед печатью. команда SendKeys "^P" не отрабатывает.
Точнее такое впечатление, что отрабатывается "CTRL+SHIFT+P". Т.е возникает диалог форматирования ячейки.
Испробовал разные конструкции  и "^+{P}" и "^{P}" и "^+P" и "^P".
Результат одинаков.

Как с этим бороться?
Размер ComboBox в Ribbon, как динамически изменять размер Combo
 
Добрый день уважаемые форумчане.
Столкнулся с проблемой.
Excel 10
У меня задача подгонять длину ComboBox расположенной в Ribbon по длинe выбранного Item этого ComboBox.
Не могу понять как можно динамически изменять размер Combobox. Известно, что эта длина в Ribbone задается параметром sizeString. Но этот параметр не меняется после инициализации ленты. И даже если ленту перезагружать после каждого выбора (и вычисления новой длины комбы), то не понятно как передавать этот параметр в Ribbon.
Может кто нибудь сталкивался?

см. пример.
Извлечение данных из xlsm, Использование файла excel как архива
 
Виноват. Исправлюсь
Извлечение данных из xlsm, Использование файла excel как архива
 
Огромное спасибо. Это то что было нужно.

Цитата
Юрий М написал: vitorian, ну а с названием темы что будем делать? Что Вы собрались извлекать из XLSM? )
Как что? Файл конечно. Если из названия темы проблема может трактоваться двояко, то из ее описания разве не понятно о чем речь?
Извлечение данных из xlsm, Использование файла excel как архива
 
Цитата
Hugo написал:
т.е. можно хранить файл картинки как данные на листе (скрытом или суперскрытом)
Согласен. Можно и так хранить. Просто у меня и без того куча вспомогательных скрытых листов. Не хотелось их множить. Но возможно придется пойти этим путем.
В данном случае интерес остается чисто академический. Можно ли быстро и не заметно для юзера извлечь файл? К тому же может потребоваться не только картинка, но и файл другого формата.
Изменено: vitorian - 29.12.2015 14:11:46
Извлечение данных из xlsm, Использование файла excel как архива
 
Уточнять пришлось, что бы улучшить понимание задачи, хотя изначально описана предельно просто. Есть контейнер (в данном случае файл экселя) нужно извлечь из него файл.
Если вы попробуете внедрить в корпоративной сети новую программу, без административных прав, я посмотрю как вы будете штатными способами инсталлировать ее на другие компы. хрен у вас получится. А эксельный файл - отличное средство для быстрого решения небольшой задачи. Офиис установлен у всех значит эксель запустится у каждого. И если для ее "инсталляции" требуется еще ряд вспомогательных файлов, то почему бы не воспользоваться экселем как контейнером для других файлов. Сервис от этого только выигрывает.
Изменено: vitorian - 29.12.2015 14:04:38
Извлечение данных из xlsm, Использование файла excel как архива
 
Цитата
vikttur написал: Какой смысл грузить файл Excel, если картинки можно хранить в папке рядом?
Цитата
SuperCat написал: причём тут Эксель?
Способ хранения файла в "файле" самый идеальный для той задачи которую я решаю. Потому что этот файл рассылается различным пользователям как аналог любого экзешника. В нем реализован интерфейс некой программы. Хранение картинки  в отдельном файле предполагает отсылку двух файлов, с указанием где располагать файл картинки и прочий не нужный геморрой. Такой же способ предполагает все необходимые части хранить в одном контейнере.

Цитата
SuperCat написал: Возможно, надо сначала воспользоваться головой, а потом пудрать мозги людям (подсказка: вопрос чуть менее чем полностью не соответствует вашей "корректной" задаче).
Возможно вначале следует внимательно прочитать общую задачу прежде чем с валить с больной головы на здоровую.
Извлечение данных из xlsm, Использование файла excel как архива
 
После изучения всех предложенных вариантов вынужден констатировать, что  к сожалению проблема полностью не решается ни одним из предложенных способов.
Возможно я не совсем корректно описал задачу.
Она выглядит так:
Файл excel используется для диалогового окна, где пользователь выбирает по некоторому алгоритму картинку. После выбора эта картинка загружается из базы данных с удаленного сервера. Но для тех случаев, когда в базе не оказывается нужного имиджа, я хочу подсовывать заготовленную картинку - что мол файла нет. Эту картинку я собираюсь хранить в самом файле excel  и перед началом работы извлекать из хранилища (в тот же каталог что и файл) и в дальнейшем работать по стандартному алгоритму "подсовывания" картинки по запросу. Просто теперь это будет не картинка загруженная с сервера, а извлеченная из самого файла. Эта картинка нигде не видна, файл excel используется лишь как zip архив, поэтому вариант предложенный уважаемым The_Prist к сожалению не катит

Из всех предложенных вариантов рабочим оказался только второй предложенный уважаемым devilkurs_now. Однако он выводит окно "термометра" при загрузке и работает (у меня) ну очень медленно. Секунд 25. Хотя по идее должно быть на много быстрее.
А хотелось бы быстрый и не заметный для пользователя способ извлечения файла.
Может что то присоветуете?  
Извлечение данных из xlsm, Использование файла excel как архива
 
Премного благодарен всем ответившим. Действительно это то что меня интересовало.Отправляюсь изучать.
Извлечение данных из xlsm, Использование файла excel как архива
 
Добрый день уважаемые форумчане.
У меня возникла необходимость извлечь (понятное дело программным образом) из файла excel (.xlsm) файл например картинки, которую я туда ранее запихнул. (см. пример)
(файл Книга1.xlsm\customUI\images\ttt.jpg )
Не могу понять как это сделать.
Может кто подскажет.
Изменено: vitorian - 28.12.2015 17:46:36
Ошибка в Workbook_Open()
 
Вам я такой файл не отправлю. Вы не работаете в нашей корпорации. :D
А вот сотрудникам нашей фирмы в ее многочисленных отделах, часто приходится пользоваться моими программами, которые я отправляю им по почте.
Ошибка в Workbook_Open()
 
Цитата
AlexTM написал: vitorian, трудно что-то сделать мне с Вашим файлом (попробуйте отказаться от Public, изменит ли это ошибку), т.к. сейчас у меня стало, как и у JayBhagavan
Да, такой эффект наблюдается после 3-4 раз вопрос об потенциальной опасности файле перестает задаваться. Я генерирую эту ошибку так. Послал сам себе на почту этот файл и открываю его из почтовой программы. Вопрос задается всегда.

Цитата
JayBhagavan написал: vitorian, после описанного Вами нажатия кнопки "Разрешить редактирование" у меня ошибки нет. Уточните версию экселя. (об этом в правилах написано)
Версия 10
Цитата
The_Prist написал: 2. Добавить папку, в которую скачиваются вложения, в список доверенных(Файл -Параметры -Центр управления безопасностью -Параметры центра управления безопасностью -Надежные расположения).
Да я так и рекомендую поступать всем кому по почте отправляю этот файл, но лишь для тех пользователей которые уже сталкивались с использованием этой программы. Новым же приходится долго объяснять по телефону как добиться нужного результата.
К сожалению не все пользователи получают файл от меня ((.

Цитата
The_Prist написал: Есть еще вариант: в настройках макросов разрешить запуск макросов с уведомлением. Тогда сначала будет появляться запрос на редактирование, а самым последним запрос на разрешение выполнения содержимого.
Такой вариант не очень красиво смотрится (ИМХО),  лучше уж предупреждать о перемещении в "безопасный каталог" если уж все равно какие то настройки требуются . Или я не правильно понял ?

Цитата
The_Prist написал: Ну а выпадание в ошибку можно элементарным On Error Resume Next решить.
К сожалению эту инструкцию придется вставлять во все процедуры своей ленты (Ribon) поскольку свойство visible почти у всех элементов это вычисляемая величина от параметров считанных с листа setup. (((

Цитата
The_Prist написал: 1. При открытии файла разрешить редактирование и перезапустить книгу.
Любопытное решение. А как перезапустить книгу? И не просто перезапустить а лишь в том случае, когда пользователь вышел из защищенного режима.

Хорошо бы найти универсальное решение. Чтобы любой чел. получивший файл по почте смог бы запустить программу без предварительных танцев с бубном.


 
Изменено: vitorian - 11.12.2015 15:38:14
Ошибка в Workbook_Open()
 
Цитата
AlexTM написал: vitorian, у нас разные ошибки или нет?
Именно так. Но иногда пишется номер ошибки не 1004 а 91
Изменено: vitorian - 11.12.2015 14:59:48
Ошибка в Workbook_Open()
 
Цитата
JayBhagavan написал: vitorian, у меня нет ошибки ни на Вашем варианте, ни на моём:
У меня ошибка и в Вашем варианте.
Повторюсь. Ошибка возникает, только если перед использованием (открытием) файла возникает возникает необходимость нажать кнопку "Разрешить редактирование"
после предупреждения excel о не безопасном файле.
Ошибка в Workbook_Open()
 
Отвечу как в Одессе вопросом:
А чем плох этот метод?  :D

Ну а на самом деле, если вы пробовали  запустить прилагаемый файл, то если пройти в дебагер при возникновении ошибки -  не возможно выполнить никакой RANGE. хоть через WorkSheets , хоть через ActiveSheet. Ошибка № 91.
Изменено: vitorian - 11.12.2015 14:58:59
Ошибка в Workbook_Open()
 
Добрый день.
Не подскажут ли уважаемые форумчане решение проблемы
В приложенном файле есть только одна процедура Workbook_Open()
и в ней одна строчка
Код
  Table = Range("SETUP!A2").Value                             ' Считать текст из ячейки скрытого листа "Setup"
 
Если я открываю этот файл из каталога входящего в состав доверительных - все проходит корректно.
Если же из другого места - Excel предупреждает, что файл может быть не безопасен и предлагает нажать кнопку "Разрешить редактирование"  
Нажав на эту кнопку возникает ошибка при выполнении процедуры.

Как с этим бороться?
Изменено: vitorian - 11.12.2015 13:43:57
Поиск максимального значения по условию, Условие - дата
 
Можно так:
maxdate= WorksheetFunction.Max(range("list1!A1").EntireColumn)
Максимальное значение даты в колонке А листа "list1"
Ошибка в validation ?
 
Цитата
justirus написал: А еще можно написать "Допускаются значения от 1 до 15" одной строкой и не мучатся))
Дело в том, что строка (по условиям моей задачи а не приведенного примера) должна меняться динамически, в зависимости от перемещения курсора по листу. Здесь нельзя заранее сказать сколько строк будет в тексте. Это количество зависит от нескольких условий.
Вопрос был задан в связи с неожиданным обнаружением НЕ ДОКУМЕНТИРОВАННОГО ограничения на количество строк , причем довольно странной величины - 11 шт. Что то мне подсказывает,что решение должно быть простым. Ведь тип validation.InputMessage  = String, значит должен "хавать" такие тексты без ограничения.  
Изменено: vitorian - 03.12.2015 01:12:59
Ошибка в validation ?
 
Цитата
justirus написал: макросом отслеживать выбор нужной ячейки и выводить/скрывать объект "Textbox", с нужным текстом и оформлением.
Боюсь это несколько не то.
В приведенном примере (моём) видно, что текст я и так формирую. Важно чтобы он (текст) ПОЛНОСТЬЮ выводился в окно,  а не частично как сейчас.  
Ошибка в validation ?
 
Добрый день Уважаемые Доны.
Помогите разобраться с простым примером.
Формирую текст содержащий 15 строк ( строка конечно одна, но содержит 15 Chr(10)+Chr(13))
Вывожу эту строку в Range.validation.InputMessage
И отображается у меня увы только 11 строк.
Как обойти эту проблему? (Вывести все 15 строк)

Пример в файле.
Код
Private Sub Workbook_Open()
Dim s As String, i As Integer
    s = ""
    For i = 1 To 15
        s = s & Str(i) & Chr(13) + Chr(10)
    Next i
       
With Range("A3").Validation
 .Delete
 .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator:=xlBetween
 .IgnoreBlank = True
 .InCellDropdown = True
 .InputTitle = "Nums:"
 .ErrorTitle = ""
 .InputMessage = s
 .ErrorMessage = ""
 .ShowInput = True
 .ShowError = True
End With

End Sub
Изменено: vitorian - 23.11.2015 15:39:09
Страницы: 1
Наверх