Avatar billede ngunordic Juniormester
06. januar 2012 - 01:20 Der er 4 kommentarer

VBA programmering

Hejsa :)

Håber virkelig i kan hjælpe mig herinde, da jeg meget snart (inden lørdag helst) skal bruge svar på noget.

Jeg har lavet et excel ark til en fodboldturnering. Her skriver jeg resultater ind efter hver kamp og det opdateres så over i et pulje, så man kan se hvor mange hold der er. JEg har sat det over i et powerpoint da det skal op på et fjernsyn. Men mit problem er nu, at hver gang jeg har skrevet noget i excel arket, bliver det ikke automatisk opdateret over i powerpointet, som altid bare står åbent. DEt skulle gerne opdatere hver 5-10 sek. Så alle rettelser i excel arket kommer over i PPT UDEN jeg skal trykke opdater link.

Håber i kan hjælpe.

de bedste hilsen
En frusteret amartør til excel og ppt :)
Avatar billede supertekst Ekspert
06. januar 2012 - 09:16 #1
Hej

Jeg tror jeg kan hjælpe dig. Har du mulighed for at sende en kopi af filerne?

@-adresse under min profil.

og så velkommen til Eksperten.
Avatar billede supertekst Ekspert
06. januar 2012 - 14:30 #2
alternativ her er den kode, jeg har anvendt i min model (Office 2007):

- ThisWorkbook
Public pp As Object, systemSti As String
Private Sub workbook_open()
'Stop
    systemSti = ActiveWorkbook.Path + "\"
       
    Set pp = CreateObject("PowerPoint.Application")
    With pp
        .Visible = True
        .Presentations.Open Filename:=systemSti & "PPT.pptx", ReadOnly:=msoFalse
        .ActivePresentation.SlideShowSettings.Run
    End With
             
       
    Application.OnTime Now + TimeValue("00:00:10"), "opdaterPPT"
   
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
    pp.ActivePresentation.Close
    Set pp = Nothing
End Sub

- Module1
Public Sub opdaterPPT()
On Error Resume Next
    Application.ScreenUpdating = False
   
    With ThisWorkbook.pp
        For Each sld In .ActivePresentation.Slides
            For Each sh In sld.Shapes
                If sh.Type = msoLinkedOLEObject Then
                    sh.LinkFormat.Update
                End If
            Next
        Next
    End With
   
    Application.ScreenUpdating = True
   
    Application.OnTime Now + TimeValue("00:00:10"), "opdaterPPT"
End Sub
Avatar billede ngunordic Juniormester
06. januar 2012 - 14:57 #3
Hej,

mange tak for svaret. Jeg har nu sat den ind i en ny makro, men synes ikke der sker noget? har bare sat makroen ind, som den ser ud ovenfor? er der noget jeg skal redigere i arket, eller fider den selv d af hvilket excel ark den linker til?
Avatar billede supertekst Ekspert
06. januar 2012 - 15:09 #4
Hvis du sender en mail - så returnerer jeg min model - så kan du se opbygningen.

- Makro-udførelse skal være sat til i indstillinger.
- I VBA-koden er der en reference fra Excel til Powerpoint (Alt+F11 / menupunktet:Tools / References / Microsoft PowerPoint [versionsnr] Object Library - Flueben sættes - Gem - Luk

@-adresse under min profil.

Hvilken Office-version skal der anvendes?
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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