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

Страницы: 1
Блокировка кнопки "сохранить и отправить"
 
Добрый день!
Проблема в следующем:
Есть файл в который зашито множество проверок срабатывающих при событии сохранения книги (сделано на тот случай чтобы пользователь не мог некорректно заполнить файл).
Но некоторые пользователи додумались что если пользоваться  кнопокой в меню Файл -> сохранить и отправить - > отправить как вложение, то в этом случае проверки не срабатывают и можно отправлять косячный файл.
Вопрос, как программно заблокировать/отключить данную опцию в книге, либо отлавливать событие появления этого диалогового окна.
Заранее спасибо.
Изменено: Sergey_batishev - 07.04.2017 15:21:01
Как отключить появление msgbox прописанных в коде
 
Уважаемы знатоки, добрый день!
Имеется проблема до абсурдности не логичная, но требующая решения.

Задача следующая:
Необходимо написать макрос1 в книге1, который бы  по очереди открывал все книги2 в папке и выполнял в них макрос2, содержащийся в каждой книге2.
Проблема состоит в том, что код в макрос2 заканчивается на вывод msgbox считающий время выполнения макроса:
Код
MsgBox "данные обработаны за  " & Timer - t & " сек.", vbInformation
и каждый раз нужно жать "ok". Что крайне нежелательно, т.к. книг2 в папке может быть более 100.
Так вот вопрос в том как отключить/избежать появления msgbox в макрос2?
Заранее благодарен.
PS: для наглядности сбрасываю пример макроса1 в книге1
Код
Sub opening()
    Dim sFolder As String, sFiles As String
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show = False Then Exit Sub
        sFolder = .SelectedItems(1)
    End With
    sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)    
    sFiles = Dir(sFolder & "*.xls*")
    Do While sFiles <> ""
        'Открытие книги
        Workbooks.Open sFolder & sFiles
        'действие с файлом
            Application.Run "'" & sFiles & "'!All.all_in_one"        
        ActiveWorkbook.Close True
        sFiles = Dir
    Loop
End Sub
и макрос2 в книге2
Код
Public CheckForPlan As Boolean
Sub all_in_one()
t = Timer
Call оргструктура
Call продажи
Call инвестиции
MsgBox "данные обработаны за " & Round(Timer - t, 2) & " сек.", vbInformation
End Sub
Заранее огромное спасибо!
Сохранение структуры файла без сохранения изменения данных
 
Всем привет!
Имеется файл с макросами на события (открытия книги, закрытия сохранения и проч). Файл отправляется для обработки многим пользователям.
Есть большая вероятность того что у кого-то выключены макросы в безопасности.
Хочется сделать проверку на "включенность" макросов.
Я сделал доп. лист (вложение) в котором написал что для работы с файлом необходимо включить макросы и инструкцию как это сделать.
При открытии книги, если макросы включены -  этот лист скрывается, структура книги блокируется паролем и отображается нужный для работы лист.
При закрытии книги, если пользователь говорит "Да" - все листы скрываются и остается видимым только лист с инструкцией.

А вот теперь вопрос: если пользователь нажмет "Нет", как при этом оставить видимым только лист с инструкцией, и НЕ сохранять изменения, которые пользователь внес после последнего сохранения.

Заранее огромное спасибо!
Копирование всех ячеек в зафильтрованном диапазоне
 
Добрый день!
Есть зафильтрованный диапазон (вложение)
Подскажите, каким образом можно скопировать все ячейки из usedrange?
Обычное копирование копирует только видимые..
Удаление срок на защищенном листе
 
Подскажите пожалуйста!
Имеется лист, в котором защищены от изменения несколько столбцов, содержащих формулы.
Пользователь может пользоваться фильтром и удалять не нужные ему строки.
Вернее он Хочет это делать, но у него не выйдет, т.к. стоит защита на ячейках с формулами.

Как пользователю разрешить удалять строки?
Хочется сделать так чтобы пользователь не пользовался никакими кнопками VBA на листе для удаления. А делал это как обычно.
Возможно есть возможность отловить само событие удаления?

Заранее спасибо!
Автоматический ввод пароля при открытии запароленной книги
 
Добрый день!
Имеется книга эксель не сетевом ресурсе с общим доступом. Каждый день она открывается различными пользователями и изменяется. Из-за суеверий начальства книга имеет сложный пароль. Как можно сделать так чтобы пароль для книги вводился автоматически при открытии книги для определенных пользователей?

Главная проблема в том, что событие Private Sub Workbook_Open(), куда мы могли бы записать нужный код, происходит после того как приложение запрашивает пароль от книги.

Заранее спасибо!
Присвоение переменной форматирования ячейки
 
Добрый день!
Подскажите пожалуйста, каким образом  перемененной можно присвоить форматирование ячейки (цвет ячейки, цвет текста, шрифт, границы и прочее, т.е. то что делает "формат по образцу" ;)

Задача состоит в копировании диапазона (вместе с форматированием) и вставки в не смежные ячейки. Поэтому используется цикл For each cell In...
использовать pastespecial Paste:=xlPasteFormats нет возможности, т.к. это сильно увеличивает время работы макроса..

Заранее спасибо!
Страницы: 1
Наверх