2010-11-25 7 views
1

Je veux PowerPoint pour ouvrir un fichier texte externe et ligne show 1 de ce fichier sur la diapositive 1 de ma présentation, la ligne 2 sur la diapositive 2, etc.PowerPoint VBA: ouvrir un fichier texte et afficher chaque ligne sur une diapositive séparée

Si le nombre de diapositives est supérieur au nombre de lignes dans le fichier texte, je voudrais recommencer à la ligne 1.

Voici ce que j'ai jusqu'à présent (code mixte et pseudo-code):

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 

Comment puis-je me réfère aux lignes dans le fichier texte à l'aide i, et quelle serait la meilleure façon de faire le si/alors-déclaration?

Votre aide serait grandement appréciée!

+0

sonne comme une demande de faire le travail plus d'une question d'ordre technique ... quel est le point qui bloque toi ? –

+0

iDevlop: vous aviez raison. J'ai édité ma question en conséquence. – timstr

Répondre

1

S'il vous plaît comprendre que je ne peux pas faire tout cela pour vous, mais la logique semble en quelque sorte comme ceci:

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 
Questions connexes