Ga naar inhoud

.Path - Ongeldig gebruik van een eigenschap


Cor-Assa
 Delen

Aanbevolen berichten

Beste mensen,

 

Ik probeer in een Excel bestand d.m.v. VBA de bestandslocatie op te vragen.

Dit is bedoelt voor als het bestand naar elders verplaatst wordt dat documenten nog steeds in zijn submap opgeslagen kunnen worden.

Voor het oproepen van de locatie heb ik 2 mogelijkheden gevonden;

ThisWorkbook.Path
Application.ActiveWorkbook.Path

Helaas geven beiden de fout melding "Compileerfout: Ongeldig gebruik van een eigenschap"

Dit heb ik in een Sub routine staan, zit daar soms de fout?

 

B.v.d. 

Cor Assa

Link naar reactie
Delen op andere sites


Helaas sommige opdrachten die ik zelden of eenmalig gebruik onthou ik niet, sorry.

Heb het nu wel gevonden, heb m als variabele gemaakt en dan krijg ik m wel.

De bedoeling is dat ik van een sheet een pdf opsla in een onderliggen sub genaamd "Lijsten".

Nu nog de variabele "Locatie" met variabele "Naam" koppelen om op te slaan.

Dim Bestandsnaam As String
Dim LijstDate As String
Dim SaveLocatie As String
LijstDate = ActiveSheet.Range("P4").Value
Bestandsnaam = "Storingslijst" & " " & LijstDate
SaveLocatie = ActiveWorkbook.Path

 

Link naar reactie
Delen op andere sites


Sub PDF_maken_2()
'
Dim Bestandsnaam As String
Dim LijstDate As String
Dim SaveLocatie As String
LijstDate = ActiveSheet.Range("P4").Value
Bestandsnaam = "Storingslijst" & " " & LijstDate
SaveLocatie = ActiveWorkbook.Path

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        SaveLocatie & Bestandsnaam & ".PDF" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=True, OpenAfterPublish:=True
End Sub

 

Link naar reactie
Delen op andere sites

Geplaatst: (aangepast)

Zo?

Sub dotch()
cor = ThisWorkbook.Path & "\Lijsten" & "\ "
ActiveSheet.ExportAsFixedFormat xlTypePDF, cor & "Storingslijst " & ActiveSheet.Range("P4") & ".pdf", , , , , , True
End Sub

Zoiets?

Zorg dat de map Lijsten in dezelfde locatie staat als je bestand. (wat de bedoeling is denk ik🤔)

aangepast door dotchiejack
Link naar reactie
Delen op andere sites

Geplaatst: (aangepast)

In de veronderstelling dat P4 een datum is, de Replace funtie om problemen met het pad te vermijden.

Sub wb()
    With ActiveSheet
        .ExportAsFixedFormat 0, ThisWorkbook.Path & "\Lijsten\Storingslijst " & Replace(.Range("P4"), "/", "_"), , , , , , True
    End With
End Sub

 

PS: ".pdf" is niet nodig. De extensie wordt automatisch toegevoegd naargelang het gebruikte argument bij ExportAsFixedFormat.

aangepast door bakerman
Link naar reactie
Delen op andere sites


Beste dotchiejack en bakerman,

Helaas werken beide oplossingen niet.

Ik kan het bestand wel uploaden maar dit staat vol met zakelijke gegevens aangezien het al in gebruik is.

Meer dan 500 objecten.

Link naar reactie
Delen op andere sites

Ik ben nu zover gekomen,

Sub PDF_maken()
Dim Bestandsnaam As String
Dim LijstDate As String
Dim SaveLocatie As String
LijstDate = ActiveSheet.Range("P4").Value
Bestandsnaam = "Storingslijst" & " " & LijstDate
SaveLocatie = ActiveWorkbook.Path
ActiveSheet.ExportAsFixedFormat xlTypePDF, SaveLocatie & "Storingslijst " & ".pdf", , , , , , True
End Sub

Sub PDF_maken()
Dim Bestandsnaam As String
Dim LijstDate As String
Dim SaveLocatie As String
LijstDate = ActiveSheet.Range("P4").Value
Bestandsnaam = "Storingslijst" & " " & LijstDate
SaveLocatie = ActiveWorkbook.Path
ActiveSheet.ExportAsFixedFormat xlTypePDF, SaveLocatie & "Storingslijst " & ".pdf", , , , , , True
End Sub

Alleen lukt het me niet om de String variabele Bestandsnaam in te voeren in plaats van de naam "Storingslijst", dan loopt het namelijk vast.

Link naar reactie
Delen op andere sites

Kleine update, was de subdirectory vergeten,

Sub PDF_maken()
Dim Bestandsnaam As String
Dim LijstDate As String
Dim SaveLocatie As String
Dim Bestand As String
LijstDate = ActiveSheet.Range("P4").Value
Bestandsnaam = "Storingslijst" & " " & LijstDate
SaveLocatie = ActiveWorkbook.Path & "\Lijsten" & "\ "
Bestand = SaveLocatie & Bestandsnaam
ActiveSheet.ExportAsFixedFormat xlTypePDF, Bestand & ".pdf"
'ActiveSheet.ExportAsFixedFormat xlTypePDF, SaveLocatie & "Storingslijst" & ".pdf", , , , , , True
End Sub

 

Link naar reactie
Delen op andere sites

 Delen

×
×
  • Nieuwe aanmaken...