Avatar billede stefanfuglsang Juniormester
10. september 2009 - 08:55 Der er 7 kommentarer og
1 løsning

Word til JPG via PowerPoint

Word til JPG via PowerPoint
Jeg har brug for at konvertere dokumenter til JPG-format (en side pr. dokument). Jeg forestiller mig at kalde PowerPoint fra VBA-kode, indsætte dokumentet som objekt og gemme i JPG-format.
Vi bruger MS Office 2000, Windows XP.

Er der nogen af jer der kan skitsere en løsning?

Hvis der findes en mere direkte måde at gøre dette på, hører jeg gerne om det, men jeg ønsker en løsning, der ikke kræver tredjepartskomponenter/software.
Avatar billede supertekst Ekspert
10. september 2009 - 13:34 #1
Findes følgende i Office 2000?  (anvender selv 2003)

    ActiveDocument.PresentIt

--

Hvad er formålet med det ønskede - hvis man må spørge?
Avatar billede stefanfuglsang Juniormester
10. september 2009 - 15:02 #2
PresentIt findes (jeg kendte den ikke i forvejen), det ser dog ikke ud til at den kan det jeg ønsker. Jeg regner med at man skal bruge noget med CreateObject.

VBA-koden skal gøre:
1) Oprette reference til et powerpointobject
2) Formattere dias til A4-format, stående, evt. ændre marginer
3) Indsætte word-siden
4) gemme jpg-filen på et specificeret sted.

Det er meget muligt det kan gøres uden PowerPoint, men Word kan i hvert fald ikke dirkte gemme i jpg-format.

Formålet:
Ideen er at gemme journalsvar i et PACS (lagersystem til røntgenbilleder og lignende). Konvertering af word til jpg er kun første trin i en længere proces, hvor jpg'en skal pakkes ind i et DICOM-format og have tildelt et accessionnummer og dernæst sendes.
Avatar billede supertekst Ekspert
10. september 2009 - 15:28 #3
Tak for detaljerne.

Enig - PresentIt er ikke løsningen..
Avatar billede supertekst Ekspert
10. september 2009 - 23:58 #4
Jeg vil vende tilbage til udfordringen senere. Tror godt det kan lade sig gøre...
Avatar billede supertekst Ekspert
11. september 2009 - 18:39 #5
Til orientering: Er godt i gang - ser lovende ud...
Avatar billede supertekst Ekspert
14. september 2009 - 11:32 #6
Her er så lidt inspiration:

Rem Version 1
Rem =========
Rem Koden er placeret i etseparat Word-dokument
Rem Referencen til PP er indsat

Const sti = "C:\Documents and Settings\pb.KHNBPB\Skrivebord\WordJpg\"  'TEST-STI
Const ppNavn = "skabelon.ppt"                                          'PP-SKABELON TEST-NAVN
Dim pp As Object, diasPladsHolderNavn

Const WordDok = "kilde.doc"                                            'WORD-DOK TEST-NAVN
Dim dok As Object, sideNr As Integer, antalSider As Integer
Public Sub startKonvertering()
Rem åbne Word-dokument, der skal konverteres
    Set dok = CreateObject("Word.Application")
    With dok
        .Documents.Open sti & WordDok
       
        antalSider = .ActiveDocument.ActiveWindow.Panes(1).Pages.Count
    End With

Rem Åbn PowerPoint-skabelon
    Set pp = CreateObject("PowerPoint.application")
    pp.Visible = True

    With pp.Presentations
        .Open FileName:=sti + ppNavn
    End With
   
Rem find navnet på pladsholder
    With pp
        For Each c In pp.ActiveWindow.Selection.SlideRange.Shapes
            diasPladsHolderNavn = c.Name
        Next c
    End With
   
Rem kopier de enkelte sider
    For sideNr = 1 To antalSider
        If sideNr = 1 Then
            dok.ActiveDocument.Bookmarks("\page").Select
            dok.Selection.Copy
        Else
            dok.Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Count:=1
            dok.ActiveDocument.Bookmarks("\page").Select
            dok.Selection.Copy
        End If
       
        pp.ActiveWindow.Selection.SlideRange.Shapes(diasPladsHolderNavn).Select
        pp.ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Characters(Start:=1, Length:=0).Select
        pp.ActiveWindow.View.Paste
       
        gemSomJPG CStr(sideNr)
       
Rem ryd pladsholder
        pp.ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Select
        pp.ActiveWindow.Selection.TextRange.Text = ""
      Next sideNr

Rem luk object-filer
      pp.ActivePresentation.Close
      pp.Quit
      Set pp = Nothing
     
      dok.ActiveDocument.Close
      dok.Quit
      Set dok = Nothing
     
      MsgBox ("konv. udført")
End Sub
Private Sub gemSomJPG(sideNr)
    pp.ActivePresentation.SaveAs FileName:=sti & "side" & sideNr + ".jpg", FileFormat:=ppSaveAsJPG, EmbedTrueTypeFonts:=msoFalse
End Sub
Private Sub CommandButton1_Click()
    startKonvertering
End Sub
Avatar billede stefanfuglsang Juniormester
14. september 2009 - 12:53 #7
Tak, supertekst for dit store arbejde, jeg arbejder videre med dit forslag.
Husk svar, så får du dine point.
Avatar billede supertekst Ekspert
14. september 2009 - 13:09 #8
Selv tak - svaret er her..
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