Установите текст TextBox на сегодня / завтра / на следующий день / etc. автоматически?
-
01-10-2019 - |
Вопрос
Я новичок, чтобы программировать в VBA, но то, что я пытаюсь сделать прямо сейчас, у меня есть PowerPoint Slide, который обновляется каждый день. Это слайд прогноз погоды, который отображается в нашем лобби, и в настоящее время я вручную обновляю семидневный прогноз каждый день, когда я пришел. Это означает, что пока я не вхожу, это показывает текущий день, как вчерашняя дата, а семидневный прогноз Все еще показывая вчерашнюю дату в прогнозе. В конечном счете, я бы хотел, чтобы он мог привлечь его в тестовые данные о погоде, но для объема этого вопроса я просто пытаюсь выяснить, как отображать даты в текстовом поле в течение семи дней недели.
По сути, есть заголовок по вершине с: (например, среда, 30 июня 2010 г.)
Затем семь дней настроили в столбцах с: (например, 30 июня 1 июля 2 ...)
Я хотел бы установить заголовок на текущую дату, как показано, а затем семь текстовых ящиков ниже до текущего дня, то завтра, затем на следующий день ... и так до седьмого дня.
Как бы я увеличиваю на DateTime? Спасибо!
Решение
Если вы хотите перейти в 1-дневные шаги, вы можете увеличить переменные данных, добавив к ним:
Dim d As DateTime
d = Now()
d = d + 1 ''# => tomorrow
Это работает, потому что внутренне, в качестве номера запятой и долей дней после запятой и долей дней после запятой и долей дней после запятой и доли дней после запятой. (Следовательно, добавление 0,5 будет эффективно добавлять 12 часов, хотя я бы не рекомендовал это сделать.)
Для более сложных операций, таких как добавление месяцев или часов, есть DateAdd()
(См. MSDN).
d = DateAdd("h", 12, d) ''#=> 12 hours
Вы можете «добавить» отрицательные значения с DateAdd()
, слишком.
Другие советы
Вот это в Excel; Имена функций VBA будут одинаковыми. Функции формата и dateaDd специально вы ищете.
Public Sub writeDates()
Dim x As Date, i As Integer
x = Now
For i = 1 To 7
ThisWorkbook.Worksheets(1).Range("A" & i).Value = Format(DateAdd("d", i, x), "dddd, mmmm dd, yyyy")
Next
End Sub
Эти ссылки должны немного помочь.
Функция ныне (), если вы хотите получить дату вместе со временем. Обратитесь к связанным статьям, предусмотренным для добавок и вычесе. Date()
Должен получить вам только дату, если вы когда-либо случаетесь заинтересованы только на дату дня.
Вот интересная статья о функциях VBA.
Если вы все еще заинтересованы в этом, дайте мне знать, так как я теперь закончил то же самое. Я использую дополнение, который дает мне мероприятия автоматизации, такие как изменение скольжения, которые работают как PPS, так как встроенные встроенные не работают после преобразования в PPS (для автоматического загрузки ПК и автоматической нагрузки презентации), которые называются AutoEvents, Google It или напишите мне для файла. От этого я тогда обновляю форму (вы можете использовать дополнительный доступ к названию форм для Easbery или использовать iMediate Window of VBA, чтобы продолжать меняющиеся номера формы, пока не найдете правый позор (боль в 2003 году) ... Мой Слайды меняются каждые 20 секунд, поэтому я обновляю время без секунды в форму.
У меня есть другие колокола N Whistles, такие как чтение для / от дат с линией текстового тега, чтобы пожелать Добро пожаловать в мои блогги на временах с удовольствием и т. Д.
Например, для обновлений времени ... сделано на аутоверении смены слайдов ActivePresentation.SlideMaster.Shapes (3) .textFrame.textrange.text = format (теперь, "dddd dd mmmm yyyy") & "." & Формат (сейчас, "HH : мм ")