Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Opslaan exel-pdf via VBA knop met bestandsnaam naar cel  (gelezen 14433 keer)

0 leden en 1 gast bekijken dit topic.

Offline Wilbert

  • Lid
  • *
  • Berichten: 37
  • Oplossing.be
Opslaan exel-pdf via VBA knop met bestandsnaam naar cel
« Gepost op: 02 april 2020, 07:58:34 »
Beste forumleden,

Ik ben op zoek naar een oplossing voor het opslaan van mijn bestand.
Onderstaande heb ik een code die voor mij goed werkt alleen de bestandsnaam klopt niet.
Als ik nu op de knop opslaan druk zet hij automatisch als naam de datum neer  strTime = Format(Now(), "dd-mm-yyyy\_hh-mm")
Ik zou als voorstel voor de bestandsnaam graag een verwijzing naar een cel maken.
Hoe moet ik deze toevoegen aan onderstaande macro?

Alvast bedankt voor jullie reactie
 



Sub PDFActiveSheet()
Dim wsA As Worksheet
Dim wbA As Workbook
Dim strTime As String
Dim strName As Variant
strName = Range("L3").Value
Dim strPath As String
Dim strFile As String
Dim strPathFile As String
Dim myFile As Variant
On Error GoTo errHandler

Set wbA = ActiveWorkbook
Set wsA = ActiveSheet
strTime = Format(Now(), "dd-mm-yyyy\_hh-mm")

'get active workbook folder, if saved
strPath = wbA.Path
If strPath = "" Then
  strPath = Application.DefaultFilePath
End If
strPath = strPath & "\"

'create default name for savng file
strFile = strName & "_" & strTime & ".pdf"
strPathFile = strPath & strFile

'use can enter name and
' select folder for file
myFile = Application.GetSaveAsFilename _
    (InitialFileName:=strPathFile, _
        FileFilter:="PDF Files (*.pdf), *.pdf", _
        Title:="Kies de juiste map en pas eventueel de bestandsnaam aan!")

'export to PDF if a folder was selected
If myFile <> False Then
    wsA.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=myFile, _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
    'confirmation message with file info
    MsgBox "PDF file is opgeslagen!" _
    & vbCrLf _
    & myFile
Else
    MsgBox "PDF file is niet opgeslagen"
End If


exitHandler:
    Exit Sub
errHandler:
    MsgBox "PDF file is niet opgeslagen"
    Resume exitHandler
End Sub

Offline Ex-lid

  • Oplosser
  • ****
  • Berichten: 670
  • Geslacht: Man
  • dit lid is verbannen
Re: Opslaan exel-pdf via VBA knop met bestandsnaam naar cel
« Reactie #1 Gepost op: 02 april 2020, 08:24:02 »
Welkom op Oplossing.be :)
Zorg dat de cel hier klopt
strName = Range("L3").ValueDit is voor het actieve blad wil je het uit een ander blad maak er dan dit van.
strName = Sheets("Uw blad naam").Range("L3").Value
Dit mag je verwijderen
strTime = Format(Now(), "dd-mm-yyyy\_hh-mm")En verander
strFile = strName & "_" & strTime & ".pdf"door
strFile = strName & ".pdf"Plaats in het vervolg je code tussen codetags voor een betere leesbaarheid.
Dit doe je door middel van het # teken

Offline Wilbert

  • Lid
  • *
  • Berichten: 37
  • Oplossing.be
Re: Opslaan exel-pdf via VBA knop met bestandsnaam naar cel
« Reactie #2 Gepost op: 02 april 2020, 09:31:40 »
Beste Dotchiejack,

Dit is juist wat ik zoek, super.....
 
Nu zie ik graag deze zelfde manier ook nog een keer willen alleen dan in "xlsm" file.

Nu zou ik ook graag met een knop het bestand in PDF willen versturen per mail op dezelfde voorwaarde dan opslaan als PDF.
Ik zou het proces dan zover automatisch willen doen dat ik alleen de email adressen nog moet invullen in mijn gemaakte/opgestelde email.

Alvast bedankt voor je reactie

Offline Ex-lid

  • Oplosser
  • ****
  • Berichten: 670
  • Geslacht: Man
  • dit lid is verbannen
Re: Opslaan exel-pdf via VBA knop met bestandsnaam naar cel
« Reactie #3 Gepost op: 02 april 2020, 09:42:37 »
Post eens een voorbeeld bestandje dat werkt makkelijker.
Nog een vraagje, moet je de map kunnen kiezen of mag het in vaste mappen opgeslagen worden. VB: in de map "Facturen (PDf)"

Offline Wilbert

  • Lid
  • *
  • Berichten: 37
  • Oplossing.be
Re: Opslaan exel-pdf via VBA knop met bestandsnaam naar cel
« Reactie #4 Gepost op: 02 april 2020, 10:11:12 »
Beste,

Ja, ik moet de map zelf nog kunnen kiezen zoals bij "opslaanPDF" zoals in onderstaande macro.

Ik zou best het voorbeeldbestand willen toevoegen maar dit staat al vol met persoonlijke informatie van klanten wat ik niet zo wil versturen.
Ik zou met zo'n zelfde soort macro het/een PDF bestand als bijlage zou willen versturen per mail waar ik als laatste zelf de ontvangende adressen nog kan invullen.
Ik zou met zo'n zelfde soort macro het/een xlsm bestand als bijlage zou willen versturen per mail waar ik als laatste zelf de ontvangende adressen nog kan invullen.

Sub PDFActiveSheet()
Dim wsA As Worksheet
Dim wbA As Workbook
Dim strTime As String
Dim strName As Variant
strName = Range("o4").Value
Dim strPath As String
Dim strFile As String
Dim strPathFile As String
Dim myFile As Variant
On Error GoTo errHandler

Set wbA = ActiveWorkbook
Set wsA = ActiveSheet
strName = Range("o4").Value

'get active workbook folder, if saved
strPath = wbA.Path
If strPath = "" Then
  strPath = Application.DefaultFilePath
End If
strPath = strPath & "\"

'create default name for savng file
strFile = strName & ".pdf"
strPathFile = strPath & strFile

'use can enter name and
' select folder for file
myFile = Application.GetSaveAsFilename _
    (InitialFileName:=strPathFile, _
        FileFilter:="PDF Files (*.pdf), *.pdf", _
        Title:="Kies de juiste map en pas eventueel de bestandsnaam aan!")

'export to PDF if a folder was selected
If myFile <> False Then
    wsA.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=myFile, _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
    'confirmation message with file info
    MsgBox "PDF file is opgeslagen!" _
    & vbCrLf _
    & myFile
Else
    MsgBox "PDF file is niet opgeslagen"
End If


exitHandler:
    Exit Sub
errHandler:
    MsgBox "PDF file is niet opgeslagen"
    Resume exitHandler
End Sub

Offline Digicafé

  • Volledig lid
  • **
  • Berichten: 234
  • Geslacht: Man
Re: Opslaan exel-pdf via VBA knop met bestandsnaam naar cel
« Reactie #5 Gepost op: 02 april 2020, 10:15:56 »
Ik zou met zo'n zelfde soort macro het/een xlsm bestand als bijlage zou willen versturen per mail waar ik als laatste zelf de ontvangende adressen nog kan invullen.


Een .xlsm - bestand versturen per mail is nooit een goed idee !  95 % van de mailservers én van de clients blokkeren zo'n bestanden wegens 'te gevaarlijk voor uitvoerbare code'.
En als je bestemmeling het wel zou aanvaarden, zou ik die voortaan maar mijden wat mails betreft want dan is zijn PC en/of netwerk absoluut niet veilig !

Offline Ex-lid

  • Oplosser
  • ****
  • Berichten: 670
  • Geslacht: Man
  • dit lid is verbannen
Re: Opslaan exel-pdf via VBA knop met bestandsnaam naar cel
« Reactie #6 Gepost op: 02 april 2020, 10:24:25 »
Citaat
dit staat al vol met persoonlijke informatie van klanten
Dat vragen we ook niet, weet je hoeveel keer ik voorbeeldjes heb zien voorbijkomen met Jan,Piet en Katrien gegevens.

Offline Wilbert

  • Lid
  • *
  • Berichten: 37
  • Oplossing.be
Re: Opslaan exel-pdf via VBA knop met bestandsnaam naar cel
« Reactie #7 Gepost op: 02 april 2020, 10:38:31 »
Beste,

Ik heb er alle adres gegevens uitgehaald.
Alleen soort 1 is klaar, deze andere moeten nog verder gekopieerd worden van "soort1" alleen komt daar telkens een kolom (de nu vierkante keuzehokjes) bij maar wil dit doen als "soort1" klaar is

Offline Ex-lid

  • Oplosser
  • ****
  • Berichten: 670
  • Geslacht: Man
  • dit lid is verbannen
Re: Opslaan exel-pdf via VBA knop met bestandsnaam naar cel
« Reactie #8 Gepost op: 02 april 2020, 11:25:16 »
Zie bijlage.
De drie codes kan je vinden in module 4
(ik heb je PDF code ook wat ingekort)

Offline Wilbert

  • Lid
  • *
  • Berichten: 37
  • Oplossing.be
Re: Opslaan exel-pdf via VBA knop met bestandsnaam naar cel
« Reactie #9 Gepost op: 02 april 2020, 12:11:52 »
Beste,

Hartelijk dank voor dit bestand.
Ik zou graag alleen bij (Mail (kies bijlage)) dat dat het PDF bestand al als bijlage is toegevoegd.
Is dit mogelijk?

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
Re: Opslaan exel-pdf via VBA knop met bestandsnaam naar cel
« Reactie #10 Gepost op: 02 april 2020, 12:12:45 »
dag,
ik zit met een probleempje i.v.m. de bijlagen , als ik de bijlage van Dotchiejack of van Wilbert wil openen na downloaden krijg ik de foutmelding :

"het bestand is beschadigd en kan niet worden geopend" ? had al eens dat probleem maar dacht dat het aan bestand lag maar blijkbaar niet...
ondertussen getest en ik heb dit bij ALLE Excel (xlsm) bijlagen ???

ik werk (tot nu toe zonder problemen) met Office 365 .

Mvg,
Arnold.

Offline Wilbert

  • Lid
  • *
  • Berichten: 37
  • Oplossing.be
Re: Opslaan exel-pdf via VBA knop met bestandsnaam naar cel
« Reactie #11 Gepost op: 02 april 2020, 12:24:49 »
Beste, dat probleem had ik ook.
Eerst het bestand een keer opslaan en daarna opnieuw openen.

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
Re: Opslaan exel-pdf via VBA knop met bestandsnaam naar cel
« Reactie #12 Gepost op: 02 april 2020, 13:40:30 »
Beste, dat probleem had ik ook.
Eerst het bestand een keer opslaan en daarna opnieuw openen.

als ik op de bijlage klikt dan wordt die sowieso al "opgeslagen" in mijn map "downloads" , ik mag die verplaatsen enz , bij het openen krijg ik dezelfde foutmelding...

Mvg.

Offline Wilbert

  • Lid
  • *
  • Berichten: 37
  • Oplossing.be
Re: Opslaan exel-pdf via VBA knop met bestandsnaam naar cel
« Reactie #13 Gepost op: 02 april 2020, 14:07:29 »
Ik heb deze onder een andere naam opgeslagen en toen werkte het wel

Offline Wilbert

  • Lid
  • *
  • Berichten: 37
  • Oplossing.be
Re: Opslaan exel-pdf via VBA knop met bestandsnaam naar cel
« Reactie #14 Gepost op: 02 april 2020, 18:44:25 »
Beste Dotchiejack,

Zou je mij nog willen helpen met onderstaande vraag?

Ik zou graag alleen bij (Mail (kies bijlage)) dat dat het PDF bestand al als bijlage is toegevoegd.
Is dit mogelijk?

Alvast bedankt voor je reactie

 


www.combell.com