Добавить один месяц до даты - PullRequest
0 голосов
/ 04 мая 2020

У меня есть электронная таблица, в которой я пытаюсь создать таблицу и послать ей слово. Эта часть работает нормально. Единственная проблема, которая у меня есть, это дата. У меня есть дата в ячейке B1 (10.04.2020). Я должен добавить к этой дате один месяц. Я использую функцию DateAdd. Когда я выполняю VBA, я получаю сообщение об ошибке: объект не поддерживает это свойство или метод в этой строке objTbl.Cell (T, 3) .Value = DateAdd ("m", 1, Диапазон ("B1"). Значение)

Мои коды следующие: -

Sub CreateTableInWord()
Dim objWord As Object
Dim objDoc As Object
Dim objTbl As Object
Dim objRow As Object
Dim objCol As Object
Dim lngCols As Long
Dim lngRows As Long
Dim I As Long

    lngCols = 6
    lngRows = 62

    Set objWord = CreateObject("Word.Application")

    objWord.Visible = True

    Set objDoc = objWord.Documents.Add(DocumentType:=0)

    Set objTbl = objDoc.Tables.Add(Range:=objDoc.Paragraphs(1).Range, NumRows:=lngRows, NumColumns:=lngCols)

    Set objRow = objTbl.Rows(1)


   objTbl.Cell(1, 1).Range.Text = "Instal No"
   objTbl.Cell(1, 1).Range.Bold = True
   objTbl.Cell(1, 2).Range.Text = "Amt(Rs)"
   objTbl.Cell(1, 2).Range.Bold = True
   objTbl.Cell(1, 3).Range.Text = "Due Date"
   objTbl.Cell(2, 3) = Range("B1").Value
   objTbl.Cell(1, 3).Range.Bold = True
   objTbl.Cell(1, 4).Range.Text = "Instal No"
   objTbl.Cell(1, 4).Range.Bold = True
   objTbl.Cell(1, 5).Range.Text = "Amt(Rs)"
   objTbl.Cell(1, 5).Range.Bold = True
   objTbl.Cell(1, 6).Range.Text = "Due Date"
   objTbl.Cell(1, 6).Range.Bold = True
   objTbl.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
    For I = 2 To lngRows

    ' For j = 1 To intNoOfColumns

  objTbl.Cell(I, 1).Range = I - 1

     Next

   For S = 2 To lngRows

  objTbl.Cell(S, 2) = Range("A1").Value

    Next

For T = 2 To lngRows

objTbl.Cell(T, 3).Value = DateAdd("m", 1, Range("B1").Value)

Next T


    Set objCol = Nothing

    Set objRow = Nothing

    Set objDoc = Nothing

    Set objWord = Nothing

End Sub

Мы будем благодарны за вашу помощь

с уважением

рейк sh

1 Ответ

0 голосов
/ 05 мая 2020

Используйте:

objTbl.Cell(T, 3).Range.Text = DateAdd("m", 1, Range("B1").Value)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...