所以我在这里有路标,希望有人可以帮我回答这个问题。
我正在用powerpoint制作一本可以打印的日记。每张幻灯片(页面)都有一个 1 列 7 行的简单表格。我想要的是在第一行中输入日期,并让它自动填充该页面以及其他幻灯片上的其他日期,以便根据我在表格第一行中输入的内容来确定完整的 12 个月的日期.
我知道这会涉及VBA,我找到了一些答案,但没有完全回答我想要的。
如果需要,我可以使用占位符文本框/形状,因为我可以将轮廓变白,这样它就不会显示,因此不必将文本直接输入到表格中,但我无法弄清楚这一点。
所以我发现了其他人发布到另一个问题的一些 VBA 代码,它输入了第一个日期,但没有输入其他日期,所以不确定这是否最终会成为此代码的编辑 - 或者它是否需要完全其他的东西。我尝试过的代码如下:
Sub addDates()
Dim osld As Slide
Dim L As Long
Set osld = ActivePresentation.Slides(1)
For L = 0 To 364
osld.Shapes(1).TextFrame2.TextRange = Format(DateAdd("d", L, #1/1/2021#), "dddd, mmmm d")
If L < 364 Then
Set osld = ActivePresentation.Slides.AddSlide(ActivePresentation.Slides.Count + 1, osld.CustomLayout)
End If
Next L
End Sub
微软文档:
Sub addDates()
Dim L As Long
Dim layout As CustomLayout
Dim oSld As Slide, oShp As Shape
With ActivePresentation
Set oSld = .Slides(1)
Set layout = oSld.CustomLayout
For L = 0 To 3 ' 364, for testing
If .Slides.Count < L + 1 Then
Set oSld = .Slides.AddSlide(.Slides.Count + 1, layout)
End If
Set oShp = oSld.Shapes.AddTable(7, 1)
oShp.Table.Cell(1, 1).Shape.TextFrame.TextRange.Text = Format(DateAdd("d", L, #1/1/2021#), "dddd, mmmm d")
Next L
End With
End Sub