PowerPoint VBA:打开文本文件并在单独的幻灯片上显示每一行

时间:2010-11-25 16:00:52

标签: vba powerpoint powerpoint-vba

我希望PowerPoint打开一个外部文本文件,并在我的演示文稿的幻灯片1,幻灯片2的第2行等上显示此文件的第1行。

如果幻灯片的数量大于文本文件中的行数,我想再次从第1行开始。

这是我到目前为止所拥有的(混合代码和伪代码):

Dim FileName, FSO, MyFile
FileName = "C:\test.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set MyFile = FSO.OpenTextFile(FileName, 1)

For i = 1 To ActivePresentation.Slides.Count

  If LINE(i) EXISTS IN TEXT FILE THEN

    ActivePresentation.Slides(i).Shapes("myshape").TextFrame.TextRange.Text = LINE(i)

  ELSE START AT LINE(1) AGAIN

  End If

Next

MyFile.Close

如何使用i引用文本文件中的行,以及执行if / then语句的最佳方法是什么?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

请理解我不能为你完成整个事情,但逻辑看起来像这样:

MoreSlides = true
While moreSlides

        Open "mytextfile.txt" For Input As 1
        While Not EOF(1) and moreSlides
            Line Input #1, myline

            ' here comes the part inserting the line in the next slide
            ' You set moreSlides to false if you reach the end

         Wend
         close #1

Wend