Подскажите, пожалуйста, как можно добавить макрос из Excel в Outlook? Кратко и в сильно упрощенном изложении суть заключается в следующем: при открытии файла Excel и нажатии кнопки "Согласен" из Excel в Outlook должен автоматически быть добавлен макрос на событие открытия Outlook (см. ниже), который в свою очередь будет запускать экранную форму с приветствием.
Добрый вечер! Помогите, пожалуйста, разобраться. Есть форма с помощью которой происходит добавление договоров в листбокс, при этом листбокс состоит из нескольких столбцов (в качестве примера все столбцы заполняются номером договора). В листбокс договор или несколько договоров могут быть занесены ошибочны и соответственно их необходимо удалить, проставив галочки рядом с ошибочными договорами. Код на удаление срабатывает при проставлении галочки только рядом с одним договором. Если проставить галочки для нескольких договоров, то обрабатывается удаление только одного договора (рядом с последней галочкой). Помогите, пожалуйста, скорректировать код, что и при проставлении галочек рядом с несколькими договорами все они удалялись. И если кто знает, то подскажите, пожалуйста, как сделать границы внутри таблицы листбокса. Заранее спасибо.
Добрый вечер! В книге ексель есть разные рабочие формы (в приведенном примере это форма "Продажи" и "Отчеты"). Для данных экранных форм хотелось бы сделать что-то вроде справки перед открытием самой рабочей формы. Форму справки создаю одну. При этом в форме Справка в лейбл должен загружаться рисунок той формы, которая откроется после закрытия формы "Справка". Подскажите, пожалуйста, как можно подгружать соответствующий рисунок в лейбл. Заранее спасибо.
Добрый вечер! В очередной раз надеюсь на помощь профессионалов форума. Есть форма на ней есть несколько текстбоксов, при выходе из каждого текстбокса производятся одни и те же проверки. Можно ли все эти однотипные проверки запускать при выходе из текстбокса через, например, процедуру sub или функцию? Если да, то подскажите, пожалуйста, как это сделать? Спасибо!
Добрый день! Возникла, маленькая проблема, надеюсь Вы поможете мне ее решить. В екселе формируется шаблон документа, при этом часть текста фиксированная, а часть добавляется через label (в label текст попадает после ввода в ячейку - в итоговом документе немного сложнее: label формируется из частей теста из разных ячеек путем склеивания). Как можно изменить междустрочный интервал в label (так как основной текст с междустрочным интервалом 1,5)? Приложил маленький пример. Заранее спасибо за помощь!
Добрый вечер! Есть файл с формой. На форме есть текстбокс, на текстбоксе стоит проверка на вводимые символы (сейчас только кирилица) + дополнительно на текстбоксе стоит проверка на случай, если данные будут не вводить, а копировать и вставлять - нельзя вставить цифры. Подскажите, пожалуйста, как реализовать проверку, чтобы при копировании текста в тектбоксе была проверка: вставить можно только слова, состоящие из кирилицы. Что-то вроде проверки на вводимые символы - только на вставку. Заранее спасибо!
Добрый вечер! Мучился, мучился, но так и не получилось. В ячейке Е6 (лист - Форма) работает поиск города по вводимым буквам (проверяется по данным на листе Справочники). Помогите, пожалуйста, исправить код в приложенном файле таким образом, чтобы поиск названия города был возможен по вводимым буквам в combobox (cb1) UseForm. Заранее спасибо!
P.S. код в приложенном файле создавал не я, скачал в интернете, но это было давно.
Добрый вечер! Помогите, пожалуйста, решить проблему с преобразованием в дату вводимых чисел в ячейку листа. Например, пользователь вводит в ячейку 12122014 и макрос заменяет данные на 12.12.2014 или вводит 12.12.14 и макрос переводит его в 12.12.2014 (аналогично если были указаны запятые вместо точек - должна произойти замена запятых на точки).
Поискал в интернете и нашел только код, который переводит формат 0101 или 01,01 в 01:01. Пробовал его переделать в ДД.ММ.ГГГГ (заменил 00:00), но не получилось.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, c As Range, x
On Error Resume Next
Set rng = Intersect(Target, [A:A])
If rng Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Application.EnableEvents = False
For Each c In rng
If IsNumeric(c) Then
x = Format(c, "00:00")
c.Value = x
End If
Next c
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Проверка данных возможна, но она увеличивает время на ввод данных. Заранее спасибо!
Добрый день! Подскажите, пожалуйста, как в Label указать зачеркнутый текст. Суть в следующем - при формировании документа данные из ячейки передаются в label (текст не зачеркнутый), при этом, если в ячейки нет данных, то в label должен отобразить знак [img]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAVCAYAAACzK0UYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVEhL7ZXBDcMgDEVNt3IHouO409Bh6C6urVrAAVKBSU95khUJkTyZ7ySBBTiZm11P5ZJMUSWvB4QQBnWH59v2raDTNSYzIcj0RU62ssKxJEUdb44eg3AgSRxFAEjSj4+hJEU9JmTyGoS+JBOjduE9J6Mj2RN2S/l26aj+wrZOU94TfYAkARK2REEgUdharWXk5kIm3BZ2S5VsDrulSL5daOD9Qkd7109rij9IAD4aPGfP+HaBVgAAAABJRU5ErkJggg==[/img](по сути это зачеркнутая заглавная буква Z). А если в ячейку потом ввели текст, то в label он должен передаться как не зачеркнутый. Спасибо!
Добрый день! Подскажите, пожалуйста, каким образом можно задать формат отображения данных в label (значение передается из ячейки), чтобы числовое значение (постоянно состоит из 20 цифр - номер счета) отображалось в формате ААААА BBB C DDDD EEEEEEE или ААА АА BBB C DDDDEEEEEEE. Заранее спасибо!
Добрый день! Подскажите, пожалуйста, как сделать отображение информационных окон, которые появляются в ходе выполнения макроса поверх всех остальных на рабочем столе. Например, если открыто несколько папок, файлов и начинает отрабатывать следующий макрос (см.ниже), то сообщение "Файл скопирован" теряется, где-то на заднем плане и непонятно, что в итоге произошло.
Код
Sub Copy_File1() 'программа для копирования файла
Dim objFSO As Object, objFile As Object
Dim sFileName As String, sNewFileName As String
sFileName = "C:\Users\Дмитрий\Desktop\vba\дтсь скачивание\77.xlsb" 'имя исходного файла
sNewFileName = GetFolderPath
sNewFileName1 = sNewFileName & Format(Now(), "ddmmyyyy_hhnnss") & "\"
If Dir(sNewFileName1, vbDirectory) = "" Then MkDir sNewFileName1
'копируем файл
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(sFileName)
objFile.Copy sNewFileName1
MsgBox "Файл скопирован", vbInformation, "www.excel-vba.ru"
End Sub
Код
Function GetFolderPath(Optional ByVal Title As String = "Выберите папку", _
Optional ByVal InitialPath As String = "c:\") As String
' функция выводит диалоговое окно выбора папки с заголовком Title,
' начиная обзор диска с папки InitialPath
' возвращает полный путь к выбранной папке, или пустую строку в случае отказа от выбора
Dim PS As String: PS = Application.PathSeparator
With Application.FileDialog(msoFileDialogFolderPicker)
If Not Right$(InitialPath, 1) = PS Then InitialPath = InitialPath & PS
.ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
If .Show <> -1 Then Exit Function
GetFolderPath = .SelectedItems(1)
If Not Right$(GetFolderPath, 1) = PS Then GetFolderPath = GetFolderPath & PS
End With
End Function
Добрый день! Помогите, пожалуйста, поправить код. Суть в следующем макрос должен копировать файл (заранее известен по пути) в выбранную папку, при этом в выбранной папке создается дополнительная папка с определенным именем. Проблема в том, что на этапе копирования выдается ошибка №70. Заранее спасибо!
Код
Sub Copy_File1() 'программа для копирования файла
Dim objFSO As Object, objFile As Object
Dim sFileName As String, sNewFileName As String
sFileName = "C:\Users\Дмитрий\Desktop\vba\дтсь скачивание\77.xlsb" 'имя исходного файла
Код
sNewFileName = GetFolderPath
sNewFileName1 = sNewFileName & Format(Now(), "yyyymmdd_hhnnss")
If Dir(sNewFileName1, vbDirectory) = "" Then MkDir sNewFileName1
'копируем файл
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(sFileName)
objFile.Copy sNewFileName1
MsgBox "Файл скопирован", vbInformation, "www.excel-vba.ru"
End Sub
Код
Function GetFolderPath(Optional ByVal Title As String = "Выберите папку", _
Optional ByVal InitialPath As String = "c:\") As String
' функция выводит диалоговое окно выбора папки с заголовком Title,
' начиная обзор диска с папки InitialPath
' возвращает полный путь к выбранной папке, или пустую строку в случае отказа от выбора
Dim PS As String: PS = Application.PathSeparator
With Application.FileDialog(msoFileDialogFolderPicker)
If Not Right$(InitialPath, 1) = PS Then InitialPath = InitialPath & PS
.ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
If .Show <> -1 Then Exit Function
GetFolderPath = .SelectedItems(1)
If Not Right$(GetFolderPath, 1) = PS Then GetFolderPath = GetFolderPath & PS
End With
End Function
Добрый день! Подскажите, пожалуйста, есть файл с несколькими листами при этом на каждом листе есть кнопка cb1 (на всех листах у нее одно и тоже название), к этой кнопке привязан один макрос. Возможно ли нажатие кнопки (Private Sub CommandButton1_Click()) прописать в "ЭтаКнига", чтобы при нажатии на кнопку он срабатывал на любом активном листе книги или обязательно необходимо прописывать на каждом "Листе"? Заранее спасибо!
Добрый вечер! Помогите, пожалуйста, исправить макрос. Макрос создает гиперссылку в активной ячейке с предварительным выбором необходимого файла. Но почему-то данный макрос не работает в многопользовательском режиме. Заранее спасибо!
Добрый день! Подскажите, пожалуйста, как с помощью макроса найти в папке файл с определенным расширением с последний датой создания? Предположим есть папка, в которой несколько файлов: название дата создания дата изменения 1.txt 01.01.2014 01.08.2014 2.xls 04.08.2014 06.08.2014 3.xls 05.08.2014 05.08.2014 4.xls 01.08.2014 08.08.2014
По результатам работы макроса должен открыться файл 3.xls Заранее спасибо.
Уважаемые знатоки, помогите, пожалуйста, в решение вопроса. Ковырялся на многих форумах, но не нашел ответа. Задача следующая: как с помощью макроса в Excel можно получить имя пользователя/логин программы, запущенной на компьютере? Не имя пользователя под которым произошел вход в систему Windows, не имя пользователя Excel, а именно имя пользователя под которым было запущено приложение/программа в Windows. Заранее большое спасибо!