Как использовать Microsoft Excel для управления своей жизнью
Windows

Как использовать Microsoft Excel для управления своей жизнью

 

  • Дом.

Не секрет, что я полный фанат Excel. Во многом это связано с тем, что мне нравится писать код VBA, а Excel в сочетании со скриптами VBA открывает целый мир возможностей. Однако если вы серьезно настроены использовать Excel для управления большей частью своей жизни, то вам стоит потратить время на изучение принципов работы кодирования на VBA. Если вы хотите улучшить свое использование Excel, я приглашаю вас последовать за мной и поделиться некоторыми из этих разработок

Не секрет, что я полный фанат Excel. Во многом это связано с тем, что мне нравится писать код VBA, а Excel в сочетании со сценариями VBA открывает целый мир возможностей

В прошлом здесь, на MUO, я делился некоторыми вещами, которые я сделал с помощью Excel и VBA, например, экспортировал данные Excel в Word или отправлял электронные письма прямо из Excel. Конечно, если вы не очень разбираетесь в программировании, вы всегда можете взять приложения Excel, написанные кем-то другим, например, те, которые перечислил Саймон

Однако если вы всерьез намерены использовать Excel для управления большей частью своей жизни, то вам следует потратить время на изучение кодирования на VBA. Чтобы помочь в этом, я решил поделиться электронной таблицей ‘Автоматизация’, которую я создал для управления различными областями своей жизни. Эта таблица имеет 4 вкладки и охватывает все: от группировки ссылок URL, которые я хочу запустить все сразу, до управления своими долгами и их ускоренного погашения

Если вы хотите улучшить свое использование Excel, я приглашаю вас последовать за мной, когда я поделюсь некоторыми из этих проектов – и простыми сценариями – которые я использовал для выполнения этих задач

Управление своей жизнью с помощью Excel

Microsoft Excel – это не просто электронная таблица данных. На самом деле это платформа для разработки приложений. Если вы посмотрите на него с этой точки зрения, вы поймете, как многого можно достичь с помощью этого приложения

Рассматривайте лист как дизайнерскую доску, на которой вы можете разместить объекты форм Visual Basic, такие как командные кнопки, выпадающие поля, текстовые поля и вообще все, что угодно. Вы не только можете разместить их в любом месте листа, но и использовать эти объекты для интерактивного (или автоматического) добавления, удаления или манипулирования информацией на листе

Мониторинг ваших веб-сайтов

Я пробовал множество различных инструментов для пинга различных веб-сайтов, которыми я управляю, например, ICMP Ping Manager. Но не так давно я обнаружил способ пинговать веб-сайты прямо внутри сценария Excel VBA. Это означает, что я могу добавить лист в рабочую книгу ‘Автоматизация’, который будет пинговать все сайты, которыми я управляю, и помещать результаты в ячейку рядом с названием сайта

Вот как я расположил лист

Число ‘4’ в ячейке B1 используется для отображения количества сайтов, которые я установил на листе. Это позволит скрипту считать только те ячейки, в которых действительно есть сайты, начиная с ячейки A3

Код для достижения этой цели выглядит следующим образом:

Dim intSiteCount As Integer

Dim intCount As Integer

Dim oPing As Object, oRetStatus As Object

Dim sHost As String

Dim sPing As String

Dim intCol As Integer

Dim intRow As Integer

intSiteCount = CInt(Sheet1.Cells(1, 2).Value)

intRow = 3

For intCount = 1 To intSiteCount

sPing = ”

Sheet1.Cells(intRow, 2) = sPing

intRow = intRow + 1

Next

intRow = 3

For intCount = 1 To intSiteCount

sHost = Sheet1.Cells(intRow, 1)

Set oPing = GetObject(‘winmgmts:{impersonationLevel=impersonate}’).ExecQuery _

(‘select * from Win32_PingStatus where address = ” & sHost & ”’)

For Each oRetStatus In oPing

If IsNull(oRetStatus.StatusCode) Or oRetStatus.StatusCode <> 0 Then

sPing = ‘Ping Failed’

Else

sPing = sHost & ‘ Ping Success on ‘ & Now() & Chr(10)

sPing = sPing & ‘Time (ms) = ‘ & vbTab & oRetStatus.ResponseTime & Chr(10)

sPing = sPing & ‘TTL (s) = ‘ & vbTab & vbTab & oRetStatus.ResponseTimeToLive

End If

Next

Sheet1.Cells(intRow, 2) = sPing

intRow = intRow + 1

Next

Первый цикл ‘For’ в верхней части просто проходит по ячейкам результатов и очищает результаты, полученные в прошлый раз, когда я выполнял проверку. Второй цикл FOR просматривает строки со списком веб-сайтов, начиная с третьей строки (intRow-3), выполняет команду Ping (строка Set oPing), а затем возвращает результаты в столбец B (Sheet1.Cells(intRow,2) = sPing)

Вот как выглядят эти результаты после выполнения сценария

В столбце результатов показано, был ли пинг успешным, и данные о времени/TTL

Если вы не знакомы с добавлением командных кнопок на лист Excel, вы можете добавить кнопку из меню ‘Разработчик’, нажав на кнопку ‘Вставить’ и выбрав кнопку из списка. Перетащите кнопку на лист, щелкните ее правой кнопкой мыши и выберите ‘Назначить макрос’

Введите имя макроса для этой кнопки и нажмите ‘Создать’

Откроется окно кода, куда вы можете вставить код, указанный выше

Ведение библиотеки групп ссылок

На другой вкладке я также начал организовывать группы ссылок, которые я использую для выполнения определенных задач. Например, когда я пишу для MUO, мне нравится открывать редактор MUO WordPress, google и нашу страницу Google Docs для поиска тем. Когда я ищу темы для Top Secret Writers, мне нравится открывать несколько стандартных медиа-страниц

Когда я нажимаю кнопку ‘Запустить группу’, запускается веб-браузер по умолчанию и открываются все страницы в этой группе. Вот как выглядит сценарий для каждой кнопки:

Dim intSiteCount As Integer

Dim intCount As Integer

Dim intCol As Integer

Dim intRow As Integer

intSiteCount = CInt(Sheet2.Cells(4, 3).Value)

intRow = 5

For intCount = 1 To intSiteCount

ActiveWorkbook.FollowHyperlink (Sheet2.Cells(intRow, 2))

intRow = intRow + 1

Next

Этот скрипт прост, но эффективен. Секрет его заключается в функции ‘FollowHyperlink’. Этот код проверит количество ссылок, определенное в ячейке справа от заголовка группы, и знает, что перед заголовком нужно пробежаться по этому количеству ссылок. Для каждой кнопки необходимо вручную ввести в код местоположение подсчета ссылок и используемый столбец, но остальная часть кода идентична для каждой кнопки

Предварительный просмотр галереи изображений

На следующей вкладке рабочего листа автоматизации я перехожу к просмотру всех изображений в папке ‘Картинки’. Я делаю это потому, что помещаю в эту папку не только изображения и хочу видеть все файлы, которые там находятся

Вот как это выглядит после нажатия кнопки ‘Preview Pics’

Сейчас я вручную обновляю этот лист, удаляя все изображения из столбца B, а затем нажимая кнопку ‘Preview Pics’

Кнопка запускает следующий сценарий:

Dim myPict As StdPicture

Dim strFilePath As String

Dim intRow As Integer

Dim myPictName As Variant

Dim myCell As Range

Dim sPicture As String

Dim strTest As String

Dim myRng As Range

Dim intSkip As Integer

intRow = 2

strFilePath = Sheet3.Cells(1, 3).Value

Set myObject = New Scripting.FileSystemObject

Set mySource = myObject.GetFolder(strFilePath)

On Error Resume Next

With Sheet3

Set myRng = Sheet3.Range(‘B2’,.Cells(.Rows.Count, ‘B’).End(xlUp))

End With

For Each myfile In mySource.Files

‘If picture is a file

If Right(myfile, 4) = ‘.gif’ Or Right(myfile, 4) = ‘.jpg’ Or Right(myfile, 4) = ‘.bmp’ Or Right(myfile, 4) = ‘.tif’ Or Right(myfile, 4) = ‘.png’ Then

Sheet3.Cells(intRow, 1).Value = ”

Sheet3.Cells(intRow, 1).Value = myfile.Name

intSkip = 0

For Each myCell In myRng.Cells

If intSkip = 1 Then

With myCell.Offset((intRow – 3) + 1, 0)

Sheet3.Shapes.AddPicture myfile.Path, msoCTrue, msoCTrue,.Left,.Top, 125, 125

End With

End If

intSkip = intSkip + 1

Next myCell

End If

intRow = intRow + 1

Next

Секрет этого скрипта заключается в использовании объекта StdPicture, который позволяет накладывать картинки на определенные ячейки, определяя левое и верхнее свойства картинки в соответствии с ячейкой. Просто убедитесь, что размер ячеек немного больше, чем определено в коде. В моей ситуации я использовал 125 высоту и ширину для картинок, поэтому мои ячейки заранее заданы немного больше этого значения

Управление своими долгами

Последняя вкладка, которой я хочу поделиться, на самом деле является той, которую я написал некоторое время назад об использовании Excel для создания личного бюджета

Самая важная концепция, о которой я писал в той статье, и та, которая должна присутствовать в любой статье об использовании Excel для управления своей жизнью, – это использование Excel для расчета того, как ‘эффект снежного кома’ может помочь вам выплатить долг

Концепция довольно проста. Перечислите все свои долги по кредитным картам рядом на листе с двумя колонками для каждого долга – общий баланс и платеж. Расчет для каждой ячейки с последующим платежом: ‘PrevBalance + (PrevBalance * 0. 10/12) – последний платеж’

Затем вы можете перетащить все значения вниз по листу, и они пересчитаются, показывая, как быстро будет уменьшаться ваш баланс по мере осуществления платежей. Как видите, если делать по одному платежу на каждый долг до тех пор, пока каждый долг не будет погашен, то в конечном итоге вы погасите каждый отдельный долг

Но благодаря быстрому расчету в Excel вы можете определить, когда баланс будет погашен, и в этот момент взять минимальный баланс по данной карте и перенести его на другую, еще не погашенную карту. Как показывает электронная таблица, каждый последующий остаток погашается гораздо быстрее

Excel позволяет быстро рассчитать и представить, как ваши платежи повлияют на будущие даты погашения, а также дает вам график, на который вы можете оглядываться, пытаясь убедиться, что вы идете в соответствии с графиком погашения долгов

Как видите, Excel является очень мощным инструментом, когда речь идет об управлении всеми аспектами вашей жизни – будь то работа, управление файлами или бюджет

Есть ли у вас уникальные способы использования Excel для управления своей жизнью? Поделитесь своими советами и рекомендациями в разделе комментариев ниже

Кредит изображения: увеличительное стекло через Shutterstock

Теги

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий