Ga naar inhoud

.Path - Ongeldig gebruik van een eigenschap


Cor-Assa

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

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

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

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.