Avatar billede enriko Nybegynder
06. juli 2010 - 22:12 Der er 1 løsning

VBA PPT Tilføje tekst via textbox til Slide 1

Hej alle sammen ,

(Meget kort resume : Assiging af en textbox til en variable, hvor variablen skal bruges af andre sub)

Jeg er nybegynder til VBA , men det lykkes mig at skrive noget kode der kan gemme test resultater som et billed fra excel, og et makro til powerpoint hvor den kan hente det her gemte billeder og tilføje billederne og skrive Titel på alle slides.

På slide et har jeg kort fremvisning af titel,testnr , dato  og andre parameter.

Lige nu bruger jeg inputbox til at udfylde det her parameter, hvilket virker fint , men det er lidt besværligt at input boxene skal dukke op en ad gangen, men mit mål er at via userform tilføje textbox for hvert parameter eller variable sådan så når man skal oprette slidesne så dukker et vindue op, bestående af flere textboxes, hvori man kan indtaste testnr, dato , kommentaer ..så via trykke på ok så skulle det være opdateret.


Jeg skrev til et forum igår , men desværre fik jeg ikke et helt klart svar , men den har jeg siddet og leget med det idag, det ser ud til at jeg skal køre koden to gange før ændringerne bliver opdateret på slide 1.

Det er 2 gange fordi først starter i modul1 og køre koden , så kan jeg se at userform koden bliver afviklet men det er som om at koden stopper der i userform . Så er jeg nødt til at køre koden i modulet før ændringen kommer på slide 1.


Jeg beklager at det blev lidt langt :)



For at gøre det lidt overskueligt , har jeg fjernet alle de andre parameter.

Det er nemmere at lege med et først , resten kan jeg nemt modificer hvis jeg ved hvordan det skal gøres.



Koden i modul1
******************************
Dim St As String


Sub frontpage()

With Userform1

  St = .TxtName.Text
 

            ActivePresentation.Slides(1).Select
            ActiveWindow.Selection.SlideRange.Shapes("Text Box 4").Select
            ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Select
            ActiveWindow.Selection.TextRange.Text = ""
            ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Characters(Start:=12, Length:=0).Select
    With ActiveWindow.Selection.TextRange
        .Text = St
        With .Font
            .Name = "Arial"
            .Size = 14
            .Bold = msoTrue
            .Italic = msoFalse
            .Underline = msoFalse
            .Shadow = msoFalse
            .Emboss = msoFalse
            .BaselineOffset = 0
            .AutoRotateNumbers = msoFalse
                End With
                  End With
                      ActiveWindow.Selection.Unselect
  End With
End Sub



*********************************************



Jeg bruger et enkelt Textbox og to knapper.(et for OK og et for Cancel knappen)

Koden i userform1 :
*********************************

Private Sub Cancel_Click()
Call frontpage
Unload Me
End Sub

Private Sub ok_Click()
Me.Hide
End Sub

Private Sub TxtName_Click()

End Sub

Private Sub UserForm1_Click()
UserForm1.Show
Me.Hide


End Sub



Mange Tak på forhånd
Avatar billede enriko Nybegynder
07. juli 2010 - 23:52 #1
Så har jeg løst problemet  :)

Det lykkes mig at lave en userform med 13 textbox der er assigned til 13globale variabler .
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester