Toon posts:

PDF afdrukken onder naam uit excelsheet

Pagina: 1
Acties:
  • 1.004 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoi,

Ik heb een hoop facturen die ik moet opslaan in PDF vorm. De naam van deze PDF bestaat uit een n ummer en naam, die ik uit bepaalde excelcellen haal. Nu kan ik op mn Macje in Office direct printen naar PDF, dat is al 1. Maar mijn vraag is de volgende:

Ik heb een macro gemaakt die de cel met de naam kopieert, vervolgens de printfunctie oproept, en dan de save-pdf functie. Alleen is de naam nu dezelfde als mn Excelfile. Dat is niet goed.

VRAAG: hoe kan ik de naam uit mn excel lijst plakken in de SaveAS-PDF venster?
oftewel: Hoe plak ik de inhoud van mijn klembord in het save-as-invulvakje?

Ik heb al van alles geprobeerd maar kom er niet echt uit. Wie helpt me op weg?

De MACRO tot nu toe:
Range("A1").Select
Selection.Copy

Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1
ActiveWindow.SelectedSheets.PrintOut Copies:=1

Thanx!

[ Voor 4% gewijzigd door Verwijderd op 22-02-2007 16:35 ]


  • pduh
  • Registratie: September 2001
  • Laatst online: 23-12-2024
Misschien snap ik het niet helemaal maar het lijkt me juist handig dat het dezelfde naam heeft! Als je saved als pdf krijg je toch de extensie .pdf
Wat is er dan niet goed aan de volgende lijst:
bestandsnaam1.xls
bestandsnaam1.pdf

Lijkt mij ideaal
(sorry als ik het niet snap)

P.Duh! lekker puh!


Verwijderd

Topicstarter
In mijn database in Excel staat een (alsmaar groeiende) lijst met factuurnummers, projectnamen ed. Deze namen zijn referentie voor mijn klanten en mijzelf, vandaar. Dus ik heb bestand A met daarin de factuurnummers X en naam Y.

Ik voer alle gegevens in in die database, selecteer vervolgens een factuurnummer en de factuur wordt automatisch opgemaakt. Het printen van die factuur gaat goed, logisch. Behalve het PDFje opslaan dan, ik wil dus de PDF opslaan met factuurnummer X en naam Y als bestandsnaam. De naam staat al klaar in een cel in het excelsheet. Deze kopieer ik nu naar het klembord, hoe nu verder?

Dus de vraag is: Hoe plak ik de inhoud van de gecopieerde cel in het SaveAS PDF venster?

[ Voor 24% gewijzigd door Verwijderd op 22-02-2007 15:16 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Tijdelijk je xls opslaan met de naam die je wilt hebben naar PDF :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Inderdaad zal het daar op neer komen. Of een printer+driver+SDK vinden die via VBA is aan te spreken zonder de standaardprintfunctie te gebruiken...

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Verwijderd

Topicstarter
Volgens mij is de vraag niet overgekomen. Overigens is me dit altijd wel gelukt op een Windows systeem. Het enige wat toen niet geautomatiseerd was, was het plakken in het tekst venster van de save-as-pdf-scherm. Ik ben nu over op een mac, die gelukkig wel standaard een pdf kan produceren. Helaas is het euvel, wat ik ook al had in windows, nog niet verholpen. Het moet toch te doen zijn?

Hoe plak ik de inhoud van mijn klembord in het save-as-invulvakje?

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Niet. Dat staat immers helemaal los van Office / VBA en is onderdeel van je printerdriver. Daarom zeg ik ook dat je het in de API's daarvan moet zoeken.

Disclaimer: ik heb 0 ervaring met Macs.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Verwijderd

Topicstarter
Het is inderdaad op een Mac. Overigens heeft het bestandje wat wordt opgeslagen dezelfde naam als mijn excel bestand. Hoe kan ik die naam wijzigen? Worksheet name=blabla, zoiets zoek ik...

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

SaveAs ;)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Verwijderd

Topicstarter
Ja en dan in een macro?? Nog meer handige opmerkingen?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Record eens een macro, doe de stappen handmatig en bekijk daarna je macro :?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
Heb ik gedaan.(zie eerste post) Maar daar kom ik dus niet tegen dat ik de naam kan veranderen van de PDF.

Het is zo dat de PDF dus genoemd wordt naar het Workbook.Name. Deze is READ ONLY en kan deze (tot nu toe) niet veranderen. Dus ik zoek een oplossing hiervoor.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Ik record een nieuwe macro en sla m'n bestand op en dit is het resultaat:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 22-2-2007 by BtM909
'

'
    ChDir "C:\"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\test.xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
End Sub


Die naam wordt nl. overgenomen ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
Ja dat klopt op zich allemaal. Ware het niet dat we het nu over een print opdracht hebben, waarbij we naar PDF willen schrijven.

Dus wat jij hebt gevonden heb ik ook gevonden, so far so good.

Bij de print opdracht heb je een optie om naar PDF te printen, en DAAR wil ik nu juist niet de Workbookname hebben maar een naam uit mn excel lijst. (thanx voor het meedenken)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Lees even wat er eerder is geschreven :)

Sla het tijdelijk op met de naam zoals je je PDF wilt hebben :) Punt is blijkbaar dat de printer driver om pdf-jes te bakken vrij weinig met VBA binnen Excel te maken heeft :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • SPee
  • Registratie: Oktober 2001
  • Laatst online: 00:30
Dus dat printen is niet iets losstaand van de 'save as PDF' functie ?

Dan zou het aan je printersettings liggen. Bij 'Page setup' (wel onder Windows) kun je de header/footer opgeven. Deze zou je dan een custom property moeten laten printen die je in je VBA code zet.

let the past be the past.


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Verwijderd schreef op donderdag 22 februari 2007 @ 17:39:
Ja dat klopt op zich allemaal. Ware het niet dat we het nu over een print opdracht hebben, waarbij we naar PDF willen schrijven.

Dus wat jij hebt gevonden heb ik ook gevonden, so far so good.

Bij de print opdracht heb je een optie om naar PDF te printen, en DAAR wil ik nu juist niet de Workbookname hebben maar een naam uit mn excel lijst. (thanx voor het meedenken)
Ok, matige tussenoplossing dan.
Save het documentje via vba en save as naar je temp-dir met de naam die je wilt hebben.
Print het bestandje naar je pdf-printer, nu krijgt het de goede naam.
Save het bestandje weer met save-as naar de oorspronkelijke naam.
Verwijder het bestandje uit je temp-dir.

Nu heb je toch een pdf met de goede naam ( over de snelheid van deze methode doe ik geen uitspraken )

Acties:
  • 0 Henk 'm!

  • Witte
  • Registratie: Februari 2000
  • Laatst online: 15-10 13:46
bestaat er in Excel niet zoiets als SendKeys om toetsaanslagen te emuleren?

code:
1
2
3
4
5
6
Private Sub CommandButton1_Click()
SendKeys "^p"
SendKeys "{ENTER}"
SendKeys "c:\test.pdf"
SendKeys "{ENTER}"
End Sub


En dan zorgen dat Adobe PDF de standaardprinter is

Houdoe


Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Gomez12 schreef op donderdag 22 februari 2007 @ 22:42:
[...]

Ok, matige tussenoplossing dan.
Save het documentje via vba en save as naar je temp-dir met de naam die je wilt hebben.
Print het bestandje naar je pdf-printer, nu krijgt het de goede naam.
Save het bestandje weer met save-as naar de oorspronkelijke naam.
Verwijder het bestandje uit je temp-dir.

Nu heb je toch een pdf met de goede naam ( over de snelheid van deze methode doe ik geen uitspraken )
Waarom zou je hem opnieuw saven naar de oorspronkelijke naam :?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.

Pagina: 1