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

Страницы: 1
Отправка файла по выбору из папки, Макрос отправки файла по команде из Excel
 
Добрый день!
Подскажите пожалуйста, что не так,  доходит до выбора файла из папки,  а после аутлук не открывается, письмо не создает и файл не прикрепляет.  
Код
Sub SendFile()
Dim OutlookApp As Object
Dim OutlookMail As Object
' Создание нового экземпляра приложения Outlook
Set OutlookApp = CreateObject("Outlook.Application")
' Создание нового электронного письма
Set OutlookMail = OutlookApp.CreateItem(0)
' Определение параметров письма
With OutlookMail
.To = "адрес_получателя"
' .CC = "адрес_с_копией"
' .BCC = "адрес_с_скрытой_копией"
.Subject = "Тема_письма"
.Body = "Текст_письма"
.Attachments.Add Application.GetOpenFilename
' .Send
End With
' Освобождение ресурсов
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
Корректное и полное заполнение формы., применяется проверка данных и условия форматирования
 
Добрый день!

Есть форма для планирования отпусков на год.  Часто сотрудники заполняют его не корректно или не полностью.
Подскажите пожалуйста, как можно добавить условие, чтобы к примеру файл можно было сохранить, только при условии если расписаны все дни отпуска и/или столбец F поменял цвет на зеленый.  
Может быть есть еще вариант, чтобы избежать некорретное заполнение. (желательно минимальное использование макросов)  
Изменено: Валерий - 05.12.2024 18:05:21
Не выключается экрана обновление, Экрана не выключается обновление
 
Код
Option Explicit
'удаление столбца из всех файлов в папке
Sub Get_All_File_from_Folder()
    Dim sFolder As String, sFiles As String
    Dim wb As Workbook
    'диалог запроса выбора папки с файлами
    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)
    'отключаем обновление экрана, чтобы наши действия не мелькали
   Application.ScreenUpdating = False
    sFiles = Dir(sFolder & "*.xls*")
    Do While sFiles <> ""
        'открываем книгу
        Set wb = Application.Workbooks.Open(sFolder & sFiles)
        'действия с файлом
        'удаление столбца I : N
        wb.Sheets(1).Range("I:N").Delete
        'Закрываем книгу с сохранением изменений
        wb.Close True 'если поставить False - книга будет закрыта без сохранения
        sFiles = Dir
    Loop
    'возвращаем ранее отключенное обновление экрана
   Application.ScreenUpdating = True
End Sub
Добрый день!
В коде прописано отключение обновления экрана, но он всё равно мелькает.   Подскажите где не точность, как исправить
Изменение положения и размера рисунка после вставки, Изменение положения и размера рисунка после вставки
 
Добрый день!

Нужна помощь в коде.
Макрос: в активном листе берется значение из ячейки А2
далее в файле 2023.xlsx  на листе "ОКТЯБРЬ" фильтруется по значению из А2,
результат выделятся,  в выделеном выбирается только видимые ячеки,
видимые ячейки копируются и вставляются на активном листе в виде картинки (картинка после вставки остается выделенной)
Весь код:
Код
Sub Itog()
'макрос вставки итога в виде картинки из таблицы
     Dim fio As Variant
Dim list As Worksheet
Set list = ActiveSheet

    fio = ActiveSheet.Range("A2")
    Application.Workbooks("2023.xlsx").Activate
'фильтр по значению
    Sheets("ОКТЯБРЬ").Range("$B$2:$R$103").AutoFilter Field:=1, Criteria1:=fio
'выделение и копирование   
    Sheets("ОКТЯБРЬ").Range("$B$2:$R$103").Select
    Selection.SpecialCells(xlCellTypeVisible).Select
    Selection.Copy
'вставка рисунка в активный лист  
    list.Pictures.Paste.Select
'изменение размера и положения   
    Selection.ShapeRange.ScaleWidth 0.919254124, msoFalse, msoScaleFromTopLeft
       
End Sub

Но макрос полностью не выполняется, вставляет рисунок и далее ругается на строку:     (но если выделить рисунок и запустить эту строку отдельно, то изменение размера и положения работает)
Код
 Selection.ShapeRange.ScaleWidth 0.919254124, msoFalse, msoScaleFromTopLeft

подскажите пожалуйста, как поправить


(ps  редко, но макрос бывает спотыкается на строке  
Код
list.Pictures.Paste.Select
закономерности не понял, на одном и том же листе, то нормально работает, а иногда после ошибки, остановки и повоторного запуска)
Изменено: Валерий - 30.11.2023 12:48:16
перенос строк в создаваемом письме Outlook, Перенос текстовых строк при создании письма Outlook
 
Код
SM.HTMLBody = "Текст1" & vbNewLine & "Текст2" & SM.HTMLBody

 создается письмо с заданными значениями Кому, Тема и Текст письма,   подскажите пожалуйста, как перенести часть текста письма на новыую строку.   В коде для примера выше, текст просто идет следующим.
Изменено: Валерий - 26.09.2022 22:38:02
Вставка из буфера как изображение, Макрос вставки из буфера как картинки
 
Добьрый день!
Подскажите,  есть макрос вставки, предварительно выделенных и скопированных ячеек из буфера в виде изображения
Код
Sub Макрос3()
'
' Макрос3 Макрос
'
' Сочетание клавиш: Ctrl+f
'
    ActiveCell.Offset(1, 0).Range("A1").Select
    ActiveSheet.Pictures.Paste.Select
    ActiveSheet.Shapes.Range(Array("Picture 3")).Select
End Sub

Макрос выполняетя, но по итогу ругается на строку:
Код
ActiveSheet.Shapes.Range(Array("Picture 3")).Select
Изменено: Валерий - 25.10.2021 21:27:44
Макрос не подставляет имя файла при сохранении.
 
Добрый день!
Подскажите пожалуйста,  после перехода на Excel 2019 / Windows 10,   макрос перестал  в диалоговое окно сохранения файла автоматически подставлять имя файла, исходя из названия листа.   в чем может быть дело?
часть кода, относящегося к сохранению файла
Код
 Set wb = ActiveWorkbook
    sAttachment = Application.GetSaveAsFilename(InitialFileName:=wb.Path & "\" & ActiveSheet.Name & ".xlsx")
    ActiveSheet.Copy
    With ActiveWorkbook
        .sToSavePath = Application.GetSaveAsFilename(InitialFileName:=sAttachment)
        .SaveAs sAttachment, xlOpenXMLWorkbook
        .Close False
    End With
    Application.DisplayAlerts = True

И пробовал прописать так:
Код
 .sToSavePath = Application.GetSaveAsFilename(InitialFileName:=wb.Path & "\" & ActiveSheet.Name & ".xlsx") 
 но всё равно не работает.
Изменено: Валерий - 12.10.2021 14:45:13
Сохранение файла с выбором директории
 
Подскажите пожалуйста по коду,
макрос выделяет лист в отдельную книгу, сохраняет её и отправляет через Outlook,  
но сохранение работает некорректно, а именно:  дает выбрать папку куда сохранить файл с листом, но после выбора всё равно сохранение файла происходит в папку где находится начальная книга
Код
Sub EXP() 'Макрос сохранения листа и отправки

    Dim objOutlookApp As Object, objMail As Object
    Dim wb As Workbook
    Dim sAttachment As String
  
    Application.ScreenUpdating = False
    On Error Resume Next
    'пробуем подключиться к Outlook, если он уже открыт
    Set objOutlookApp = GetObject(, "Outlook.Application")
    Err.Clear 'Outlook закрыт, очищаем ошибку
    If objOutlookApp Is Nothing Then
        Set objOutlookApp = CreateObject("Outlook.Application")
    End If
 
    Set objMail = objOutlookApp.CreateItem(0)   'создаем новое сообщение
    'если не получилось создать приложение или экземпляр сообщения - выходим
    If Err.Number <> 0 Then Set objOutlookApp = Nothing: Set objMail = Nothing: Exit Sub
     
    Application.DisplayAlerts = False
    Set wb = ActiveWorkbook
    sAttachment = wb.Path & "\" & ActiveSheet.Name & ".xlsx"
    ActiveSheet.Copy
    With ActiveWorkbook
 .sToSave = Application.GetSaveAsFilename(InitialFileName:=wb.Path & "\" & ActiveSheet.Name & ".xlsx")
        .SaveAs sAttachment, xlOpenXMLWorkbook
        .Close False
    End With
    Application.DisplayAlerts = True
    'создаем сообщение
    With objMail
        .To = Range("A3").Value 'адрес получателя
        .Subject = ActiveSheet.Name 'тема сообщения
        'добавляем вложение, если файл по указанному пути существует(dir проверяет это)
        If sAttachment <> "" Then
            If Dir(sAttachment, 16) <> "" Then
                .Attachments.Add sAttachment 'просто вложение
            End If
        End If
        .Display 'если необходимо просмотреть сообщение, а не отправлять без просмотра
    End With
  
    Set objOutlookApp = Nothing: Set objMail = Nothing
    Application.ScreenUpdating = True
End Sub
что то не так со строками  25,  26  
Изменено: vikttur - 21.09.2021 20:22:24
Необходимо отправлять сохранённый файл через Outlook, прикрепление файла в письмо для отправки через Outlook
 
Подскажите пожалуйста рашение,  макрос сохраняет активный лист в отдельную книгу,   далее необходимо эту книгу вложить в письмо Outlook,  отправка письма уже вручную.   но у меня здесь получается отправка исходной книги, причем без открытия окна Outlook
Код
Sub SaveSheet()
     Application.DisplayAlerts = False
    Set wb = ActiveWorkbook
    ActiveSheet.Copy
    With ActiveWorkbook
     
    .SaveAs wb.Path & "\" & .ActiveSheet.Name & ".xlsx", xlOpenXMLWorkbook
    .Close False
        End With
    ActiveWorkbook.SendMail Recipients:="new@adres.ru", Subject:="Тема письма"
    Application.DisplayAlerts = True
       
    
End Sub
Изменено: Валерий - 21.09.2021 13:01:33
Копирование листа в отдельную книгу
 
Приветствую всех!

Помогите пожалуйста, был написан макрос, но к сожалению теперь утерян :
Сохраниение активного листа в новую книгу, в папку где находится исходный файл,   имя файла = название листа

Сейчас есть только начало:
Код
Sub SohrList22()
Dim CurrentWin As Window
Dim VremWin As Window
Set CurrentWin = ActiveWindow
Set VremWin = ActiveWorkbook.NewWindow
CurrentWin.ActiveSheet.Copy
VremWin.Close
Path = ThisWorkbook.Path & "\"
ThisWorkbook.SaveAs (Path & ActiveSheet.Name)
End Sub
макрос создает файл с листом, но не берет название и не сохраняет
Изменено: vikttur - 21.09.2021 00:03:13
Страницы: 1
Наверх