[VBA] Bild aus Zwischenablage mit Größe/Position einfügen

Moderator: ModerationP

[VBA] Bild aus Zwischenablage mit Größe/Position einfügen

Beitragvon RonT » 05. Dez 2016, 12:09

Hallo zusammen!

Ich muss immer wieder die gleiche Tätigkeit in Powerpoint ausführen und würde diese gerne automatisieren. Bin aber in VBA nicht so bewandert, dass ich das Script so aus dem Ärmel schüttel und hoffe hier Hilfe zu finden.

Folgendes sollte das Marco am besten auf Tastenkürzel z.B.: "Strg"+"Alt"+"P" erledigen:
1. Ein Bild aus der Zwischeablage auf der aktuellen Folie einfügen.
2. Das Bild sollte 2 cm von links und 5 cm von oben positioniert werden.
3. Dann sollte die Bildbreite auf 24 cm proportional verändert werden.
4. Das Bild sollte nun bei der Reihenfolge in den Hintergrund geschoben werden (damit die Textfelder die schon auf der Folie sind nicht verdeckt werden).

Ich denke das ist für einen Profi, die hier im Forum sicherlich zu finden sind, doch gar kein Problem und freue mich schon auf eine Anwort.

Vielen Dank schon mal im voraus.
Gruß Ron
RonT
Neuling
 
Beiträge: 1
Registriert: 05. Dez 2016, 11:51

Re: [VBA] Bild aus Zwischenablage mit Größe/Position einfüge

Beitragvon Xlsibb » 05. Dez 2016, 15:13

Hallo Ron,

ich hatte mal folgendes Makro geschrieben, um Bilder aus einem Verzeichnis zuzuschneiden und an die immer gleiche Position der Folie zu setzen. Das sollte dir weiterhelfen, musst du aber noch anpassen. Wie das Zuweisen mit Tastenkürzel geht, weiß ich allerdings nicht:

Code: Alles auswählen
Private Sub cmdScreenshots_Click()

    Dim NeueFolie, NeuesBild
    Dim Layout As CustomLayout
   
    Dim fs As Object 'Variable für Dateisystem definieren
    Dim fsDir As Object 'Variable für Verzeichnis definieren
    Dim Ordner As String 'Variable für Ordnername
    Dim DateiName As Variant 'Variable für Dateiname definieren
       
    With Application.FileDialog(msoFileDialogFolderPicker) 'Öffnet ein Dialogfenster zur Auswahl eines bestimmten Ordners
        .Title = "Ordnerauswahl"
        .ButtonName = "OK"
        .InitialView = msoFileDialogViewList
        If .Show = -1 Then Ordner = .SelectedItems(1) 'Variable "Ordner" enthält den Verzeichnisnamen des ausgewählten Ordners
    End With
       
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set fsDir = fs.getfolder(Ordner)
                   
    j = ActivePresentation.Slides.Count
    i = ActivePresentation.Slides.Count + 1
   
    For Each DateiName In fsDir.Files
   
        If Right(DateiName, 4) <> ".jpg" Then GoTo Ende:
   
        Set Layout = ActivePresentation.SlideMaster.CustomLayouts.Add(7) 'Folienlayout auswählen
        Set NeueFolie = ActivePresentation.Slides.AddSlide(i, Layout) 'Neue Folie mit ausgewähltem Layout
   
        Set NeuesBild = NeueFolie.Shapes.AddPicture(DateiName, msoCTrue, msoCTrue, 20, 0)
   
        NeuesBild.LockAspectRatio = msoFalse 'hier je nach deiner Anwendung msoTrue wählen
        'ab hier Parameter anpassen
        NeuesBild.IncrementTop 130
        NeuesBild.ScaleHeight 0.68, msoFalse, msoScaleFromTopLeft
        NeuesBild.PictureFormat.Crop.PictureHeight = 524
        NeuesBild.PictureFormat.Crop.PictureOffsetX = 0
        NeuesBild.PictureFormat.Crop.PictureOffsetY = -33
        NeuesBild.IncrementLeft 30
       
        ActivePresentation.Slides(i).Shapes(1).TextFrame.TextRange.Text = Right(DateiName, Len(DateiName) - Len(Ordner) - 1)
        i = i + 1
       
    Next DateiName
   
Ende:
    Button = MsgBox(i - j - 1 & " Folien mit Screenshots wurden ans Ende der Präsentation angehängt.", vbOKOnly, "Information")

End Sub
Benutzeravatar
Xlsibb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1201
Registriert: 26. Feb 2009, 17:07

Re: [VBA] Bild aus Zwischenablage mit Größe/Position einfüge

Beitragvon G.O.Tuhls » 05. Dez 2016, 16:07

Warum Makro oder VBA, wenn es ein Platzhalter ebenso tut?

Gruß
G.O.
Press any thumb to continue.
Benutzeravatar
G.O.Tuhls
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7861
Registriert: 26. Mär 2010, 14:19
Wohnort: Berlin

Re: [VBA] Bild aus Zwischenablage mit Größe/Position einfüge

Beitragvon Xlsibb » 06. Dez 2016, 09:55

weil ich damals über 4 Wochen pro Tag 50 Screenshots aufbereiten musste und irgendwann die Klickerei satt war. (Das ging damals nicht anders, erkläre ich an dieser Stelle aber nicht weiter. Das war so, Punkt!)
Mein Makro lädt ja aus einem Verzeichnis automatisch alle Bilder ein und setzt sie jeweils in eine eigene Folie. Desweiteren schneidet es die immer gleichen Bereiche ab, so dass nur noch der relevante Teil sichtbar war.
Das sieht dann mit dem Makro sehr übersichtlich aus.

Außerdem: siehe Thread
[VBA] Bild aus Zwischenablage mit Größe/Position einfügen

und:
Ich muss immer wieder die gleiche Tätigkeit in Powerpoint ausführen und würde diese gerne automatisieren.
Benutzeravatar
Xlsibb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1201
Registriert: 26. Feb 2009, 17:07

Re: [VBA] Bild aus Zwischenablage mit Größe/Position einfüge

Beitragvon G.O.Tuhls » 06. Dez 2016, 12:37

Von Kiepenarbeit war in Deinem OP ja nicht die Rede.

Gruß
G.O.
Press any thumb to continue.
Benutzeravatar
G.O.Tuhls
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7861
Registriert: 26. Mär 2010, 14:19
Wohnort: Berlin


Zurück zu PowerPoint Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast