• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

opslaan als PDF

Status
Niet open voor verdere reacties.

AjaciedNick

Gebruiker
Lid geworden
4 nov 2012
Berichten
129
Ik heb in excel een macro gemaakt die een pagina opslaat als PDF met een vooraf ingestelde naam en een vooraf ingestelde map.
Nu wordt dit bestand via dropbox op 2 (of meer) computers gebruikt. Dan klopt de locatie niet meer.
nu is het bijvoorbeeld C:/Nick/Dropbox/
bij de andere persoon is het bijvoorbeeld C:/Dennis/Dropbox/

Hoe kan ik het eerste gedeelte van de locatie weglaten dus bijvoorbeeld alleen ../Dropbox/

Onderstaand de code die ik nu gebruik

Code:
Sub PDF()
Dim FacName As String

FacName = ActiveSheet.Range("C2").Value
       
If Dir("C:\Users\Nick\Desktop\Dennis\" & FacName & ".pdf") <> "" Then
   MsgBox "Het bestand: " & FacName & ".pdf bestaat reeds"
       Exit Sub
       Else
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Nick\Desktop\Dennis\" & FacName & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=True

End If
End Sub
 
Wijzig C:\Users\Nick in Environ("userprofile")
 
heb hem zo veranderd maar dan krijg ik de melding
Typen komen niet overeen.

Code:
Sub PDFklant()
Dim FacName As String

FacName = ActiveSheet.Range("C2").Value
       
If Dir(Environ("userprofile") \ "Desktop\Dennis\" & FacName & ".pdf") <> "" Then
   MsgBox "Het bestand: " & FacName & ".pdf bestaat reeds"
       Exit Sub
       Else
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Environ("userprofile") \ "\Desktop\Dennis\" & FacName & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=True

End If
End Sub
 
Dat is inderdaad ook niet goed. Probeer dit maar eens Zo wordt de PDF op het bureaublad aangemaakt. Dat kan je uiteraard wijzigen naar wens:
Code:
Sub PDF()
    Dim FacName As String
    
    FacName = Environ("userprofile") & "\Desktop\" & ActiveSheet.Range("C2").Value & ".pdf"
    If Dir(FacName) <> "" Then
        MsgBox "Het bestand: " & FacName & "bestaat reeds", vbCritical
        Exit Sub
    End If
    
    ActiveSheet.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=FacName, _
        OpenAfterPublish:=True
End Sub
 
Ok dan.
Markeer je vraag ook nog even als "Opgelost" :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan