• Где искать работу python web?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Какая ситуация обстоит с веб-программированием на python в области фриланса

    Предыдущие три года мне заказов хватало на загрузку 24/7. Естественно, от части приходилось отказываться.

    и в целом развитии карьеры?

    На фрилансе нет ни карьеры, ни профессионального роста. Устраивайтесь в офис.
    Ответ написан
    4 комментария
  • Как сделать автоматический расчет даты в MS Word?

    honor8
    @honor8
    Принципы быстродействия VBA в описании
    Много действий надо сделать, поэтому часто люди заполняют руками. К тому же нужно придумать по какому событию будет производиться расчёт (или вызывать макрос из вкладки "Вид"; автоматический расчёт делают формулы в Excel).
    1. Включить в настройках вкладку "Разработчик", Режим конструктора, добавить Элементы управления (на картинке в красной рамке). Рекомендую через свойства полей указать ТЕГИ (например, dateProd, dateExp), и следить, чтобы не было разных полей с одинаковым тегом. Отключить Режим конструктора.
    2. Открыть редактор VBA (первая кнопка во вкладке "Разработчик").
    3. Создать модуль в документе. Написать функцию расчёта значения (для примера нужно прибавить 7 дней):
    Sub ShelfLife()
      '3456789012345678901234567890123456h8nor@ya567890123456789012345678toster56789
      Dim objCC As ContentControl, counter As Variant
      Dim dateProdIndex As Byte, dateExpIndex As Byte
      
      With ActiveDocument
        For Each objCC In .ContentControls
          counter = counter + 1
          Select Case objCC.Tag
            Case "dateProd": dateProdIndex = counter
            Case "dateExp": dateExpIndex = counter
          End Select
        Next objCC: Set objCC = .ContentControls(dateProdIndex)
        
        If .ContentControls(dateExpIndex).LockContents _
          Xor objCC.PlaceholderText = objCC.Range.Text Then counter = 0
        
        If dateProdIndex > 0 And dateExpIndex > 0 And counter > 0 Then
          counter = CDbl(CDate(objCC.Range.Text)) + 7
          .ContentControls(dateExpIndex).Range.Text = CDate(counter)
        Else
          MsgBox "Поле с тегом dateProd или dateExp не заполнено. " & vbCrLf _
            & "Или содержимое поля dateExp нельзя редактировать. ", vbExclamation
        End If
      End With
    End Sub
    Защита ограничения редактирования для внесения изменений в документ должна быть отключена. Можно использовать другие методы для выбора поля: по названию или тегу.
    Ответ написан
    Комментировать