Print side | Luk vindue

Gem som - uden at trykke "Gem"

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=3642
Udskrevet den: 21.Apr.2025 kl. 11:23


Emne: Gem som - uden at trykke "Gem"
Besked fra: BoA
Emne: Gem som - uden at trykke "Gem"
Posteringsdato: 10.Okt.2018 kl. 09:41
Hej Smile
Jeg har fundet og tilpasset en kode, der kan gemme mine ark som pdf, men der kommer en "gem som" boks op, som jeg skal trykke "Gem" til.
 
Er der nogen der kan hjælpe med at komme uden om det, så den blot vælger "Gem" hver gang?
 
    pdfName = ActiveSheet.Range("A5")
    ChDir "C:\Users\BOA\Desktop\BL Dashboard\"
    fileSaveName = Application.GetSaveAsFilename(pdfName, _
    fileFilter:="PDF Files (*.pdf), *.pdf")
    If fileSaveName <> False Then
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    fileSaveName _
    , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=False
    End If



Svar:
Besked fra: maxzpad
Posteringsdato: 11.Okt.2018 kl. 12:11
Hej Bo

Skal dine PDF-filer have et fast navn? Eller skal det kunne variere?


Mvh Max


Besked fra: BoA
Posteringsdato: 11.Okt.2018 kl. 12:13
Hej Max.

De skal have samme navn som fanenavnet. Den fulde kode har du her:


Sub KopierFaneOgGemSomPdfOgSletHerefter()

'Loop
Dim counter As Integer

For counter = 1 To 2
    
'Kopier og navngiv fane
    Sheets(8).Copy After:=Sheets(8)
    ActiveSheet.Name = Sheets(3).Range("b5").Offset(counter - 1, 0)
    ActiveSheet.Range("A5").Value = Sheets(3).Range("A5").Offset(counter - 1, 0)
    
'Gem som pdf
    pdfName = ActiveSheet.Range("A5")
    ChDir "C:\Users\BOA\Desktop\BL Dashboard\"
    fileSaveName = Application.GetSaveAsFilename(pdfName, _
    fileFilter:="PDF Files (*.pdf), *.pdf")
    If fileSaveName <> False Then
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    fileSaveName _
    , Quality:=xlQualityStandard, IncludeDocProperties:=True, _
          IgnorePrintAreas:=False, OpenAfterPublish:=False
       
    End If
      
Next counter

'Slet alle faner der ligger efter den originale
Dim BoSheet As Worksheet

Application.DisplayAlerts = False

For Each BoSheet In ActiveWorkbook.Sheets

    If BoSheet.Index > 8 Then
    
        BoSheet.Delete
    
    End If
    
Next BoSheet

'Meld klar
    MsgBox "Filer gemt og klar til afsendelse"


End Sub


Besked fra: maxzpad
Posteringsdato: 11.Okt.2018 kl. 13:53
Hej Bo

Prøv dette:

' Gem som pdf
    pdfName = ActiveSheet.Range("A5")
    filePath = "C:\Users\BOA\Desktop\BL Dashboard\"

    fileSaveName = ActiveSheet.Name

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    filePath & fileSaveName _
    , Quality:=xlQualityStandard, IncludeDocProperties:=True, _
          IgnorePrintAreas:=False, OpenAfterPublish:=False


Besked fra: BoA
Posteringsdato: 11.Okt.2018 kl. 13:57
Mange tak!

Works like a charm!




Print side | Luk vindue