Avatar billede jamark Praktikant
07. juni 2006 - 18:42 Der er 6 kommentarer og
1 løsning

Fodnote i skabelon til PowerPoint (formoder der skal bruges VB!)

Jeg har oprettet en tråd under Programmer/Officepakker/Microsoft Office, men jeg formoder, at der skal bruges Visual Basic, så her er et link til jer kloge VB-folk!

http://www.eksperten.dk/spm/714151
Avatar billede supertekst Ekspert
08. juni 2006 - 00:10 #1
Her er lidt af koden, der efter kald af en userform, hvori der indtastes projektnavn og dato - ved OK indsættes disse data i master:

Private Sub CommandButton1_Click()
    ActiveWindow.ViewType = ppViewSlideMaster
   
    ActivePresentation.SlideMaster.Shapes("Rectangle 4").Select
    ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Select
    ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Characters(Start:=1, Length:=9).Select
    ActiveWindow.Selection.TextRange.Text = Me.TextBox1
   
    ActivePresentation.SlideMaster.Shapes("Rectangle 5").Select
    ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Select
    ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Characters(Start:=1, Length:=20).Select
    ActiveWindow.Selection.TextRange.Text = Me.TextBox2
    ActiveWindow.ViewType = ppViewSlide
   
    Unload UserForm1
End Sub

Mangler - load af userform ved kald af skabelonen.
Avatar billede jamark Praktikant
08. juni 2006 - 02:39 #2
Den er jeg nok nødt til lige at få wn forklaring på. Hvad skal jeg have sat op inden det skulle virke. Det er vel noget med rectangle 4 og 5.

Her er, hvad jeg har lavet indtil videre:

Private Sub CbCancel_Click()
    DialogEnd = "Cancel"
    Me.Hide
End Sub

Private Sub ChoosenDateOpt_Click()
    If ChoosenDateOpt.Value = True Then
        ChoosenDate.Enabled = True
    End If
End Sub

Private Sub CurrentDateOpt_Click()
    If CurrentDateOpt.Value = True Then
        ChoosenDate.Enabled = False
    End If
End Sub

Private Sub CbOk_Click()
    ActiveWindow.ViewType = ppViewSlideMaster
   
    ActivePresentation.SlideMaster.Shapes("Rectangle 4").Select
    ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Select
    ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Characters(Start:=1, Length:=9).Select
    ActiveWindow.Selection.TextRange.Text = Me.ProjectNameTb
   
    ActivePresentation.SlideMaster.Shapes("Rectangle 5").Select
    ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Select
    ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Characters(Start:=1, Length:=20).Select
    ActiveWindow.Selection.TextRange.Text = Me.ChoosenDateTb
    ActiveWindow.ViewType = ppViewSlide
   
    Unload UserForm1
End Sub
Avatar billede supertekst Ekspert
08. juni 2006 - 09:30 #3
Har prøvet med en tilfældig skabelon. Her var de pågældende objekter i masterens sidefod benævnt med disse navne - henholdsvis i venstre side og i midten.
Kan have andre navne.
Avatar billede jamark Praktikant
08. juni 2006 - 20:42 #4
Så fungerer det, når jeg kører den i en ny blank præsentation, men jeg vil jo også gerne have det til at fungere i min egen skabelon. Når jeg kører den der, får jeg fejlmeddelselsen:

Run-time error '-2147024809 (80070057)':
The item with the specified name wasn't found.

Og når jeg klikker debug, markerer den linien:
  ActivePresentation.SlideMaster.Shapes("Rectangle 4").Select

Jeg formoder, at det er "Rectangle 4" som egentlig hedder noget andet. Hvordan kan jeg finde ud af, hvad det hedder i lige præcis min præsentation?
Avatar billede jamark Praktikant
14. juni 2006 - 01:10 #5
Jeg har gjort det lidt sværere, tror jeg! Jeg har lavet en ny tråd her:

http://www.eksperten.dk/spm/715292
Avatar billede jamark Praktikant
14. juni 2006 - 22:24 #6
Supertekst (og for den sags skyld alle andre!): Ved du hvordan jeg kan finde ud af, hvad tekstboksene hedder. Du skriver fx at sidetalsboksen hedder "Rectangle 5". Man må vel kunne finde ud af, hvad boksene hedder.
Avatar billede jamark Praktikant
15. juni 2006 - 00:47 #7
Jeg har selv fundet løsningen nu. Det er meget nemmere slet ikke at skulle have fat i de rektangler:

    With Application.ActivePresentation.SlideMaster.HeadersFooters
        .Footer.Text = TbProjectName 'Tekstboksen med Projektnavn
        .DisplayOnTitleSlide = True
    End With
           
    If ObDate1.Value = True Then 'Hvis der er valgt en fast dato
        With Application.ActivePresentation.SlideMaster.HeadersFooters.DateAndTime
            .Text = TbDate1 'Tekstboks med valgt dato
            .UseFormat = False
                       
        End With
    Else 'Hvis der er valgt, at datoen altid skal være dags dato
        With Application.ActivePresentation.SlideMaster.HeadersFooters.DateAndTime
            .UseFormat = True
            .Format = ppDateTimeMdyyyy
        End With
    End If
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