(hulp bij) VBA maken

Status
Niet open voor verdere reacties.

mariannevanh

Terugkerende gebruiker
Lid geworden
14 dec 2004
Berichten
2.085
Allereerst weet ik niet of dit de goede rubriek is voor mijn vraag. Ik wil graag een VBA hebben voor een actie in Powerpoint. Misschien past deze vraag beter in de sectie Microsoft Office - Powerpoint.
Zelf ben ik het programmeren nog niet machtig, daarom doe ik graag een beroep op jullie voor hulp bij het maken van een VBA.
Ik maak zeer regelmatig in Powerpoint een presentatie met de weergave van een lied met muzieknoten t.b.v. presentatie met een beamer. Een lied bestaat uit een reeks afbeeldingen (zwarte achtergrond, witte muziekbalken en tekst) die afkomstig zijn uit een muzieknotatieprogramma die ik via de Powerpoint-functie Foto-album inlees. Nadat ik de afbeeldingen heb ingelezen, worden handelingen uitgevoerd.
- Omdat het (uiteraard) geen foto-album is, mag de eerst dia met de titel weg.
- Het foto-album wordt standaard gemaakt in de beeldverhouding 4:3, maar ik wil graag een beeldverhouding 16:9.
- De achtergrond van de hele presentatie dient zwart te zijn.
- De afbeeldingen moeten aan de onderkant van de dia worden geplaatst.
- Op de eerste dia moet bovenin een tekstvak worden ingevoegd met witte letters in het lettertype Arial Rounded MT Bold en lettergrootte 20. Default tekst mag bijv. zijn: Nummer en titel

Wie kan mij (op weg) helpen met een dergelijke applicatie?

Vriendelijke groet,
Guido
 
Waarom doe je dit niet gewoon met de hand in Powerpoint ?
En plaats dan dat powerpointbestand hier als illustratie.
 
Laatst bewerkt:
En de bedoeling is dan zeker dat je al die afbeeldingen als een film af laat spelen?
 
Waarom doe je dit niet gewoon met de hand in Powerpoint ?
En plaats dan dat powerpointbestand hier als illustratie.

Het zijn vaak langere liederen en er staat (mede i.v.m. beamerprojectie) niet al te veel op 1 sheet, dus het gaat om veel sheets per lied. Als je dan wekelijks 10 liederen maakt, zou het gemakkelijker zijn als een deel van de handelingen geautomatiseerd gaat.
Ik was al bezig met een presentatie van een voorbeeld, komt er dus aan...

Vriendelijke groet,
Guido
 
Met een klein voorbeeldbestandje hoe het moet worden wordt je sneller en beter geholpen, een vijftal dia's is al voldoende.
 
Hieronder staan 6 gifjes van coupletten van ons volkslied in de meest gebruikte lay-out voor onze beamer.
Sorry dat ik ze niet eerder meestuurde.

Vriendelijke groet,
Guido
 

Bijlagen

  • Wilhelmus-01.gif
    Wilhelmus-01.gif
    26,9 KB · Weergaven: 75
  • Wilhelmus-02.gif
    Wilhelmus-02.gif
    25,3 KB · Weergaven: 63
  • Wilhelmus-03.gif
    Wilhelmus-03.gif
    26,9 KB · Weergaven: 54
  • Wilhelmus-04.gif
    Wilhelmus-04.gif
    26,5 KB · Weergaven: 51
  • Wilhelmus-05.gif
    Wilhelmus-05.gif
    26,3 KB · Weergaven: 56
  • Wilhelmus-06.gif
    Wilhelmus-06.gif
    26,8 KB · Weergaven: 49
Ik maak zeer regelmatig in Powerpoint een presentatie met de weergave van een lied met muzieknoten t.b.v. presentatie met een beamer.
En hoe wil de dat ze eruit zien in een powerpoint-voorbeeldbestandje?
 
Laatst bewerkt:
De powerpointpresentatie zou er dan als volgt uitzien (zie bijlage; jammer dat ik 'm eerst moet zippen).

Vriendelijke groet,
Guido
 

Bijlagen

  • Wilhelmus.zip
    204,3 KB · Weergaven: 23
Ik heb nog enkele toevoegingen gedaan:
  • Volgnummers toegevoegd bij de titel;
  • De afbeeldingen blijven in de orginele verhouding.
Druk op ALT+F8 voor de macro "BladMuziekNaarPowerPoint".

p.s. geven witte noten op een zwarte achtergrond bij beamers meer contrast?
 

Bijlagen

  • helpmij guidovanh powerpoint bladmuziek beamer.zip
    215 KB · Weergaven: 24
Laatst bewerkt:
Alphamax, hartelijk, hartelijk dank!
Heb je bewust gekozen voor het behouden van de originele verhouding? Onze beamer is ingesteld op een weergave van 16:9, een waarde die ik overigens niet terugvind als ik in Powerpoint kijk bij de Pagina-instelling.
Als ik de afbeeldingen in de originele verhouding laat, geven deze een vertekend beeld weer. Ik geef er daarom de voorkeur aan dat de afbeeldingen (net zoals bij de functie Fotoalbum) over de volledige breedte komen. Theoretisch zou je 'm ook kunnen oprekken in verticale richting, maar dat geeft wellicht ook een vertekend beeld. Daarom koos ik bij handmatige bewerking voor het naar de onderkant laten zakken van de afbeelding en het maken van een zwarte achtergrond.

De keuze voor een zwarte achtergrond is volgens mij afhankelijk van de omgeving. Ons gebouw heeft een vrij donker interieur. Sinds ruim een jaar hebben we wel een grote witte projectiewand, maar onderzoek heeft uitgewezen dat een helderwitte achtergrond te flets overkomt waardoor de letters gaan "springen".

Kun je nog iets met deze informatie?

Vriendelijke groet,
Guido
 
Ik bedoel de originele verhoudingen van de gif's met bladmuziek, die zijn ongeveer 1:0.7.
De verhouding van de dia's blijft 16:9, ik zie wel netjes 16:9 staan bij de paginainstellingen in powerpoint2007.
Maar kan me voorstellen als dat maar 1 pixel afwijkt dat powerpoint iets anders laat zien.

Ik heb het idee dat bij jou alles heel anders uitziet dan bij mij, waarom weet ik niet.
Als bijlage een screenshot van mijn beeldschermClipboard01.gif
 
Wil je gewoon dat de afbeelding de dia helemaal vult, ongeacht de verhoudingen van de afbeelding,

vervang dan
Code:
If lngSlideWidth * .Height < (lngSlideHeight - lngTitleHeight) * .Width Then
    lngImageHeight = lngSlideWidth / .Width * .Height
    .Top = lngTitleHeight + (lngSlideHeight - lngImageHeight) / 2
    .Left = 0
    .Height = lngImageHeight
    .Width = lngSlideWidth
Else
    lngImageWidth = (lngSlideHeight - lngTitleHeight) / .Height * .Width
    .Top = lngTitleHeight
    .Left = (lngSlideWidth - lngImageWidth) / 2
    .Height = (lngSlideHeight - lngTitleHeight)
    .Width = lngImageWidth
End If
door
Code:
.LockAspectRatio = msoFalse
.Top = lngTitleHeight
.Left = 0
.Height = lngSlideHeight - lngTitleHeight
.Width = lngSlideWidth
 
Laatst bewerkt:
Dit is fantastisch! Hartelijk dank!
Maar hoe krijg ik deze macro nu zelfstartend als het pptm-bestand open? Ik meende de truc uit een ander topic te kunnen gebruiken, maar dat werkte niet.

Vriendelijke groet,
Guido
 
Powerpoint heeft geen gemakkelijke manier voor zelfstartende macro's bij het openen.
Er is wel een moelijke manier, maar aangezien je het programmeren niet machtig bent, lijkt het me beter dat ik dat niet vertel.
Is openen, ALT+F8 toetsen, macro aanklikken zoveel moeite?

Mocht je het van iemand anders willen horen, zie http://www.pptfaq.com/FAQ00611_Is_V...r-_Will_it_solve_my_presentation_problem-.htm, hoofdstuk "Code That Runs Automatically"
 
Laatst bewerkt:
Het kan inderdaad misschien nog een klein beetje makkelijker, maar snap jij de code nog dan?
Succes met je muzieklessen.
 
Laatst bewerkt:
Alhoewel de initiële vraag is opgelost, wil ik dit topic toch graag weer openen.

De afgelopen weken heb ik zo ontzettend veel plezier gehad van deze macro. Ik heb zelf een paar kleine wijzigingen aangebracht (deels met hulp van een andere vraag in dit forum). Over nog aan te brengen wijzigingen heb ik nog een paar vragen.

De vraag naar de naam van het lied heb ik onderverdeeld in twee delen: een titel en een bron. De bron wil ik graag cursief weergeven, voorafgegaan door een "-".
Wilhelmus - Nederlands volkslied

De toevoeging van volgnummers van de dia's (bericht #10) wil ik graag optioneel maken:
- op elke dia (default)
- op elke oneven dia
- op dia 1, 4, 7, enz.
- alleen op dia 1

Ik heb via Google geprobeerd oplossingen te vinden, maar vooralsnog niet gevonden. Wie kan mij op weg helpen de macro te verfijnen.

Hieronder geef ik de huidige versie van de macro:

Code:
Option Explicit

Public Sub BladMuziekNaarPowerPoint()

Dim lngFile As Long
Dim lngFiles As Long
Dim lngImageHeight As Long
Dim lngImageWidth As Long
Dim lngSlide As Long
Dim lngSlideHeight As Long
Dim lngSlideWidth As Long
Dim lngTitleHeight As Long
Dim strTitle1 As String
Dim strTitle2 As String
Dim vntFile As Variant

    For lngSlide = ActivePresentation.Slides.Count To 1 Step -1
        ActivePresentation.Slides(lngSlide).Delete
    Next
    strTitle1 = InputBox("Titel")
    strTitle2 = InputBox("Bron")
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = True
        If .Show = True Then
            lngFiles = .SelectedItems.Count
            For Each vntFile In .SelectedItems
                lngFile = lngFile + 1
                With ActivePresentation
                    lngSlideWidth = .PageSetup.SlideWidth
                    lngSlideHeight = 9 * lngSlideWidth / 16
                    .PageSetup.SlideHeight = lngSlideHeight
                    With .Slides.Add(.Slides.Count + 1, ppLayoutBlank)
                        .FollowMasterBackground = msoFalse
                        .Background.Fill.ForeColor.RGB = RGB(0, 0, 0)
                        With .Shapes
                            With .AddTextbox(msoTextOrientationHorizontal, 0, 0, lngSlideWidth, 27)
                                With .TextFrame.TextRange.Font
                                    .Color = 65535
                                    .Name = "Arial Rounded MT Bold"
                                    .Size = 24
                                End With
                                .TextFrame.TextRange.Text = strTitle1 & " - " & strTitle2 & " : " & lngFile
                                lngTitleHeight = .Height
                            End With
                            With .AddPicture(vntFile, msoFalse, msoTrue, 0, 0)
                                .LockAspectRatio = msoFalse
                                .Top = lngTitleHeight
                                .Left = 0
                                .Height = lngSlideHeight - lngTitleHeight
                                .Width = lngSlideWidth
                            End With
                        End With
                    End With
                End With
            Next
        End If
    End With
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan