Я вставил в Power point определенный эксельник через вставка->объект-> файл excel (связанный)
Power point самостоятельно определил отображаемый диапазон, и отражает не все данные с листа excel. Каким образом определить диапазон вставки?
Отправка Excel to Lotus notes с помощью макроса
Пользователь
Сообщений: Регистрация: 01.07.2013
23.06.2015 15:17:42
Добрый день!
На главной есть статья, разбирающая отправку с помощью VBA, при ниже есть битая ссылка
Я нашел код, но к сожалению, в силу отсутствия каких-либо навыков VBA программирования не могу адаптировать его под себя:
Скрытый текст
Код
Option Explicit
Const EMBED_ATTACHMENT As Long = 1454
Const stPath As String = "c:\Attachments"
Const stSubject As String = "Weekly report"
Const vaMsg As Variant = "The weekly report as per agreement." & vbCrLf & _
"Kind regards," & vbCrLf & _
"Dennis"
Const vaCopyTo As Variant = "name@mail.com"
Sub Send_Active_Sheet()
Dim stFileName As String
Dim vaRecipients As Variant
Dim noSession As Object
Dim noDatabase As Object
Dim noDocument As Object
Dim noEmbedObject As Object
Dim noAttachment As Object
Dim stAttachment As String
'Copy the active sheet to a new temporarily workbook.
With ActiveSheet
.Copy
stFileName = .Range("A1").Value
End With
stAttachment = stPath & "\" & stFileName & ".xls"
'Save and close the temporarily workbook.
With ActiveWorkbook
.SaveAs stAttachment
.Close
End With
'Create the list of recipients.
vaRecipients = VBA.Array("name1@mail.com", "name1@mail.com")
'Instantiate the Lotus Notes COM's Objects.
Set noSession = CreateObject("Notes.NotesSession")
Set noDatabase = noSession.GETDATABASE("", "")
'If Lotus Notes is not open then open the mail-part of it.
If noDatabase.IsOpen = False Then noDatabase.OPENMAIL
'Create the e-mail and the attachment.
Set noDocument = noDatabase.CreateDocument
Set noAttachment = noDocument.CreateRichTextItem("stAttachment")
Set noEmbedObject = noAttachment.EmbedObject(EMBED_ATTACHMENT, "", stAttachment)
'Add values to the created e-mail main properties.
With noDocument
.Form = "Memo"
.SendTo = vaRecipients
.CopyTo = vaCopyTo
.Subject = stSubject
.Body = vaMsg
.SaveMessageOnSend = True
.PostedDate = Now()
.Send 0, vaRecipients
End With
'Delete the temporarily workbook.
Kill stAttachment
'Release objects from memory.
Set noEmbedObject = Nothing
Set noAttachment = Nothing
Set noDocument = Nothing
Set noDatabase = Nothing
Set noSession = Nothing
MsgBox "The e-mail has successfully been created and distributed", vbInformation
End Sub
Большая просьба помочь с рядом вопросов:
1.
Код
Const stSubject As String = "Weekly report":
Если тема письма варьируется от недели к неделе, допустим, сейчас это будет Week Results 23, на след недел Week Results 24, какие есть варианты решения? Я вижу это как: а) всплывающие окно, в котором я указываю номер недели или б) лучше в коде самостоятельно определяется текущая неделя
2.
Код
Const stPath As String = "c:\Attachments"
Этой срочкой автор указывает путь, где лежит документ с которым он работает?
3.
Код
Sub Send_Active_Sheet()
В примере рассмотрен случай вложения текущего листа в письмо. Как будет выглядет код, если у меня есть фиксированная директория (например, \Недельные отчёты\2015\Week 24), в которой уже лежат подготовленные отчеты и мне надо вложить все excel файлы из этой папки в письмо? Дополнительно стоит указать, что номер папки варьируется (равно как и тема письма) поэтому, по идеи это можно связать. Т.е. в коде определяется номер недели и используется как в stSubject так и в месте, откуда забираются файлы 4.
Set noSession = CreateObject("Notes.NotesSession")
Set noDatabase = noSession.GETDATABASE("", "")
Во второй строчке нужно указать путь к базе лотус?
6. Как добавить просмотр документа перед отправкой?
Видел в примере на главной, что для outlook была использована команда display
Т.е. я меняю
Код
.Send 0, vaRecipients
На
Код
.Display
?
Заранее спасибо, если вы ответите хоть на часть вопросов, либо подскажите направление, где копать
Форматирование ячеек: 2ой знак после запятой только в случае 0,0x
Пользователь
Сообщений: Регистрация: 01.07.2013
12.05.2015 13:35:33
Добрый день!
Возможно ли задать форматирование в следующем примере, чтобы стандартно округляло до 1 знака после запятой, но в случае 0 в первом знаке показывало второй?
Как установить порядок вычислений в сводной таблице?
Пользователь
Сообщений: Регистрация: 01.07.2013
07.05.2015 17:17:25
upd. Есть ли возможность указать порядок вычислений для Вычисляемого объекта, чтобы получить верное значение для примера? Т.е. есть ли возможность вместо 1,5 получить результат в -0,25
Изменено: - 13.05.2015 13:44:51
Ошибки в вычисляемом поле сводных таблиц, Некорректный расчет в вычисляемом поле
Пользователь
Сообщений: Регистрация: 01.07.2013
15.05.2014 14:02:00
Добрый день!
Русская версия 2010 excel 14.0.7113.5005 (64-разрядная) Считаю одни и те же данные. В одном случае загоняю весь расчет в вычисляемое поле, во втором случае часть данных считаю руками. Почему-то получаются разные цифры. Как?
Изменено: - 15.05.2014 14:09:39
Учет семейных расходов, не могу реализовать учет кэша
Пользователь
Сообщений: Регистрация: 01.07.2013
01.08.2013 16:27:42
Добрый день! Уже давно с подругой ведем все наши доходы и расходы, но автоматически считается только общий остаток (сумма дохода - расходы за текущий день). Бьюсь который день над следующей задачкой: Хочу на начало дня видеть остаток на карте и остаток наличности в автоматическом режиме, которые формируют общую сумму дохода.
Думал реализовать через цвет: допустим, формула обсчитывает все расходы, но если я помечаю ячейку цветом, то данное значение вычитается только из налички и не учитывается в общей формуле, но не понимаю как это сделать.
Помогите, пожалуйста!
Изменено: - 02.08.2013 01:32:57
Вставка картинки по ID номеру, VBA
Пользователь
Сообщений: Регистрация: 01.07.2013
24.07.2013 18:11:32
Добрый день!
Помогите, пожалуйста, реализовать следующий макрос.
У нас есть некий список id номеров, по кнопке макрос будет забирать картинку из указанной папки по iD номеру и подгружать ее уже с этими параметрами:
Код
Selection.ShapeRange.LockAspectRatio = msoFalse 'Снимаем сохранение пропорций
Selection.ShapeRange.Height = 70.8661417323 '2,5 cм по высоте
Selection.ShapeRange.Width = 70.8661417323 '2,5 см по ширине
Selection.Placement = xlMoveAndSize 'закрепляем за ячейкой
Допустим ID номера A1-100. Папка C:// и в ней файлы имеют имя A1-A100.jpg
Заранее благодарен за любые советы
Работа с уникальными значениями в диапазоне
Пользователь
Сообщений: Регистрация: 01.07.2013
10.07.2013 11:15:50
Добрый день!
Прошу помочь с такой задачей:
Имеется база с некими товарами (id номера), у них есть несколько цветов и размеров, некое кол-во и сумма. Требуется вывести строку со всем диапазоном значений, общим кол-вом по конкретному цвету и сумме. Во вложении пример с уже прописанными мною формулами, но мне кажется, что это решается через макрос, а знаний пока не хватает.
Заранее спасибо
Поиск по двум условиям
Пользователь
Сообщений: Регистрация: 01.07.2013
02.07.2013 10:41:59
Добрый день! Спасибо большое за бесподобный ресурс, но, к сожалению, я не нашел ответ на свои вопросы.
Вопрос 1: Поиск по двум условиям (интересует формула, либо макрос, т.к. фильтр здесь не подходит). Идея следующая: Сначала ищем аля функцией впр совпадающИЕ значенИЯ в соседнем массиве, дальше выбираем только максимальное значение. Пытался реализовать через функцию МАКС, но безуспешно.
Вопрос 2: Хотел автоматически выводить полный путь до файла, вместо просто названия. После продолжительных танцев с бубном получил работающий вариант, но только с ручным запуском. Спустя некоторое время наткнулся на более адекватную реализацию, правда она не учитывает изменения файла и не обновляет имя файла после сохранения. Как вариант думал изменить работу функций "сохранить" и "сохранить в", но наверняка есть более простое решение. П.С. В идеале, чтобы в шапке был не просто полный путь, а скорей даже адресная строка, c возможностью копирования адреса файла.
Вопрос 3: Каждый раз после изменения ячейки в столбце А, требуется выдавать дату изменения в ячейку стобца Б. После долгих мучений с присвоением нескольких переменных приведших к зависанию компьютера, я пришел к выводу (наконец-то зарисовав то, что я хочу), что алгоритм должен быть следующий: В случаем любого изменения ячейки в столбце А - запускаем макрос, вносящий дату в столбец Б. Т.к. я только начинаю разбираться в макросах, все, что я смог написать - это "В случаем любого изменения ячейки в столбце А" и то не факт.