Dialoogvenster gebruiken in vba

Status
Niet open voor verdere reacties.

Aroff

Gebruiker
Lid geworden
18 jun 2024
Berichten
102
Goemorgen,

Ik heb hier een stukje code die ik gebruik voor het invoegen van een afbeelding. Dit werkt goed, alleen ik moet steeds dezelfde bestandsnaam gebruiken. Liever kies ik die zelf. Ik heb dit al een keeer willen wijzigen naar een filedialog venster. Maar dan kan ik niet meer positioneren met Top en Left.

Aroff

With ActiveDocument.Shapes.AddPicture(Anchor:=Selection.Range, FileName:= _
"C:\Users\Frans\Gerdi werk\SE Beveiliging\Pasfotos\X.jpg", _
LinkToFile:=False, SaveWithDocument:=True)
.Top = 52.95
.Left = 289
.Width = 115
.Height = 129.5
.WrapFormat.Type = 3
.ZOrder 4
 
Hiermee kies je een pasfoto.
Code:
Function ZoekPasfoto() As String
    With Application.FileDialog(msoFileDialogOpen)
        .Title = "Selecteer pasfoto"
        .Filters.Add "Foto", "*.jpg", 1
        .InitialFileName = ActiveWorkbook.Path
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count < 1 Then
            MsgBox "Geen pasfoto geselecteerd."
            ZoekPasfoto = ""
        Else
            ZoekPasfoto = .SelectedItems(1)
        End If
    End With
End Function
Aanroep:
Code:
pasfoto = ZoekPasfoto()
Vervang in jouw code
Code:
"C:\Users\Frans\Gerdi werk\SE Beveiliging\Pasfotos\X.jpg"
door
Code:
pasfoto
Wel even testen of pasfoto niet leeg is.
 
Dank je wel voor je snelle reactie.

waar moet ik "pasfoto=pasfoto" invoegen?

Kan ik nu nog positioneren met Top en Left?

Aroff
 
Zonder jouw code te zien is het een gokje:
Code:
   pasfoto = ZoekPasfoto
   With ActiveDocument.Shapes.AddPicture(Anchor:=Selection.Range, Filename:= _
      pasfoto, _
      LinkToFile:=False, SaveWithDocument:=True)
 
Dank je wederom voor je hulp. Zoals je merkt ben ik een beginneling met vba.
Ik krijg als ik jou code gebruik een probleen bij onderstaande code.

.InitialFileName = ActiveWorkbook.Path

Moet ik daar noog iets invullen?
 
Oeps, dit is het Word forum, excuus.
Zo dan:
Code:
Function ZoekPasfoto() As String
    With Application.FileDialog(msoFileDialogOpen)
        .Title = "Selecteer pasfoto"
        .Filters.Add "Bestand", "*.jpg", 1
        .InitialFileName = ActiveDocument.Path
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count < 1 Then
            MsgBox "Geen pasfoto geselecteerd."
            ZoekPasfoto = ""
        Else
            ZoekPasfoto = .SelectedItems(1)
        End If
    End With
End Function

Sub PlaatsFoto()
    pasfoto = ZoekPasfoto
    With ActiveDocument.Shapes.AddPicture(Anchor:=Selection.Range, FileName:= _
        pasfoto, _
        LinkToFile:=False, SaveWithDocument:=True)
        .Top = 52.95
        .Left = 289
        .Width = 115
        .Height = 129.5
        .WrapFormat.Type = 3
        .ZOrder 4
    End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan