• 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.

tabblad van Excel opslaan als PDF met naam van een Cel op het tablad

Status
Niet open voor verdere reacties.

dabber09

Gebruiker
Lid geworden
2 nov 2011
Berichten
78
Private Sub CmdPDF_Click()
'Een bestandsnaam opgeven
Dim pdfNaam As String
pdfNaam = "C:\data\Bestelling"

'De pagina-eigenschappen instellen
With Blad1.PageSetup
.PrintArea = "$a$1:$E$30"
.Orientation = xlLandscape
.Zoom = 80
End With

'Het pdf bestand maken

Blad1.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfNaam

'Een mededeling doen

MsgBox Prompt:="Het pdf bestand is hier opgeslagen:" _
& vbNewLine & vbNewLine & pdfNaam, _
Buttons:=vbInformation, _
Title:="pdf opgeslagen"

End Sub

Deze heb ik hier ergens weg gehaald alleen moet de file de naam krijgen van degene die de file heeft ingevuld.
De naam staat op blad1 in cel A1
Hoe moet ik deze marco aanpassen zodat er de naam van de besteller ook te zien is
 
pdfNaam = "C:\data\Bestelling\" & Sheets("Blad1").Range("A1")
 
Leuk he, die korte aanpassingen. Geen kritiek, maar voor de leut:
pdfNaam = "C:\data\Bestelling\" & Sheets("Blad1").[A1]
 
Of:
Code:
pdfNaam = "C:\data\Bestelling\" & Blad1.[A1]
;)
 
pdfNaam = "C:\data\Bestelling\" & Sheets("Blad1").Range("A1"),
Deze werkt bij de ander krijg ik tekst A1.
Stel dat ik ook nog cel b1 erbij wil hebben wat is dan de formule
 
Dezelfde met daar achter
& ". " & Sheets("Blad1").Range("B1")

Let op de spatie tussen "". Niet verplicht overigens, maar om bv twee woorden oid te scheiden.

Lachen, Edmoor, nog korter...
 
klasse dit werkt maar natuurlijk ben ik eentje van uitdagingen. hoe kan ik deze PDF dan versturen naar een email adres van het magazijn.
Dan ben ik helemaal tevreden en kunnen we een groot aantal problemen omlopen
 
Een voorbeeld:
Code:
Private Sub CommandButton1_Click()
    Dim Bestand As String
    Dim OutApp As Object
    Dim OutMail As Object
 
    Bestand = "C:\data\Bestelling\" & Sheets("Blad1").Range("A1") & ".pdf"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Bestand
 
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
        .To = "iemand@magazijn.nl"
        .CC = ""
        .BCC = ""
        .Subject = "Dit is het onderwerp"
        .Body = "Bij deze het bestand"
        .Attachments.Add Bestand
        .Display ' Of .Send
    End With
    'Kill Bestand
End Sub
 
heb deze ingevoerd maar krijg geen bestand gestuurd.
Als ik opverzenden druk gebeurd gaat het scherm weg maar ik ontvan geen mail.


1727192135769.png
 
Dat heeft niets met die VBA code te maken, die heeft z'n werk dan al gedaan.
Wat dan wel de oorzaak is kan ik zo ook niet aangeven.

Wijzig in de code de .Display eens in .Send
 
kan ik bij .Subject= "Dit is het onderwerp" ook de verwijzing maken naar cel A1?
 
dankjewel hier kan ik weer een stuk vooruit.
maar zal toch nog wel eens terugkomen hihi.
file is goed werkbaaar voor de monteurs
 
Gisteren heb ik alles geprobeerd en dat werkte.
Vandaag heb ik de regel ingevoerd van hierboven en krijg ik steeds de melding van Microsoft Excel.
Wat kan dit betekenen?




1727250900839.png
 
als ik op de knop PDF_Email klik kan ik voor de rest niks meer doen in Excel.
Kan het zijn dat dit iets te maken met outlook.
Gisteren kreeg ik ook een paar andere mails die ik al eens eerder heb verstuurd binnen.
 
Dat is geen foutmelding maar de regel waar de fout zich voordoet.
De foutmelding zelf heb je dan net daar voor gekregen.
 
Doe het eens zo:
Code:
With CreateObject("Outlook.Application").CreateItem(0)
        .To = "iemand@magazijn.nl"
        .CC = ""
        .BCC = ""
        .Subject = "Dit is het onderwerp"
        .Body = "Bij deze het bestand"
        .Attachments.Add Bestand
        .Display ' Of .Send
    End With
 
Hallo ,

Deze heb ik met hulp van jullie gemaakt en nu sla ik deze dus op in de map Data.
Maar tevens wil ik die nu versturen via emai.
De bovenstaande heb ik geprobeerd maar dan hangt Excel zich elke keer op, dus heb ik hem verwijdert.
Hierboven staat Attechments.Add Bestand wat is dan het bestand?

Private Sub CmdPDF_Click()
'Een bestandsnaam opgeven
pdfNaam = "C:\data\Bestelling\" & Sheets("Blad1").Range("A1") & "_" & Sheets("Blad1").Range("B1")

'De pagina-eigenschappen instellen
With Blad1.PageSetup
.PrintArea = "$a$1:$f$30"
.Orientation = xlLandscape
.Zoom = 70
End With

'Het pdf bestand maken

Blad1.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfNaam

'Een mededeling doen

MsgBox Prompt:="Het pdf bestand is hier opgeslagen:" _
& vbNewLine & vbNewLine & pdfNaam, _
Buttons:=vbInformation, _
Title:="pdf opgeslagen"

End Sub
 
De variabele Bestand dient de locatie en naam van de pdf te bevatten, inclusief de extensie .pdf
In de code die jij plaatst is dat dus de variabele pdfNaam.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan