• Powerpoint Slides in Word (2003)

    Author
    Topic
    #448236

    Really not sure which forum to post this on … Word, Powerpoint or VBA

    The problem is this….. we regularly compile a number of presentations into a booklet. They are laid out three to a page with lines beside them. Currently we print out each of the publications and present the printed version to our publisher. We want to be able to send a single file to the printer.

    I have used the powerpoint “send to word” feature and then have a macro which deletes the first column and resizes the images. The result is something that looks like I want to print but huge file size (ie over 10 megs for ten slides)

    I was going to use master documents — yeah groan — so we could add the appropriate headers and footers – which may change from presentation to presentation.

    My question is … does anyone know a smarter way to do this?

    Viewing 0 reply threads
    Author
    Replies
    • #1095495

      If you select one image & reveal field codes (shift-F9), you’ll find that all images are actually embedded slides. If you right-click on the image (at least in Office 2003), you’ll find that you can edit the slide. If you select the image and kill the field (shift-control-F9), it will turn your image into a picture (usually a smaller file size). Hope this helps.

      • #1095734

        Thanks – that helps a lot brought it down from 10 meg to 1. What I would now like to do is try to do this with code. With the help of this board the following code resizes the images

        Dim shp As InlineShape
        Dim f As Double
        For Each shp In ActiveDocument.InlineShapes
        f = shp.Width / shp.Height
        shp.Height = InchesToPoints(2)
        shp.Width = f * shp.Height
        Next shp

        What I need to do is put fields.unlink in somewhere. I don’t want to select the entire document because we have other fields that we need to update.

        Any idea how I get it to go through each of the inline shapes and unlink them?

        • #1095736

          You can use code like this:

          Dim i As Integer
          Dim f As Double
          For i = ActiveDocument.InlineShapes.Count To 1 Step -1
          With ActiveDocument.InlineShapes(i)
          f = .Width / .Height
          .Height = InchesToPoints(2)
          .Width = f * .Height
          .Field.Unlink
          End With
          Next i

          You have to loop backwards to avoid problems.

    Viewing 0 reply threads
    Reply To: Powerpoint Slides in Word (2003)

    You can use BBCodes to format your content.
    Your account can't use all available BBCodes, they will be stripped before saving.

    Your information: