Установите текст TextBox на сегодня / завтра / на следующий день / etc. автоматически?

StackOverflow https://stackoverflow.com/questions/3150823

Вопрос

Я новичок, чтобы программировать в 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

Эти ссылки должны немного помочь.

  1. Даты и времена в Excel;
  2. Дата и время.

Функция ныне (), если вы хотите получить дату вместе со временем. Обратитесь к связанным статьям, предусмотренным для добавок и вычесе. Date() Должен получить вам только дату, если вы когда-либо случаетесь заинтересованы только на дату дня.

Вот интересная статья о функциях VBA.

Понимание функций 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 : мм ")

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top