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

veel Excel-bestanden printen

Status
Niet open voor verdere reacties.

mariannevanh

Terugkerende gebruiker
Lid geworden
14 dec 2004
Berichten
2.085
Elk kwartaal krijgen wij een aantal (ca. 100) Excel-documenten aangeleverd (ze staan allemaal samen in een directory). Van deze documenten moet het eerste tabblad worden geprint.
Nu kan ik natuurlijk stuk voor stuk de Excelbestanden openen, naar het eerste tabblad gaan (waarvan de naam overigens steeds hetzelfde is) en dan deze pagina printen, maar ik neem aan dat hiervoor een makkelijker oplossing te vinden is (in de vorm van een macro??)
Wie helpt?
 
Laatst bewerkt:
Guidovanh, 'Een beetje van mezelf... Een beetje van Microsoft!'... Ik had ooit voor een projectje wat code nodig die alle bestandsnamen uit een folder in een Excelsheet moest wegschrijven. Hier heb ik nu gebruik van gemaakt om in een 'tweetrapsraket' je bestanden af te drukken. Let op! Omdat deze code met WindowsScriptingRuntime werkt, moet je EERST in je VBE ergens een vinkje zetten. Zie deze uitleg...
'Source: http://www.exceltip.com/st/List_fil...Runtime_using_VBA_in_Microsoft_Excel/446.html
'
'###############################################################################
'Microsoft Scripting Runtime is included in these products:
'Windows98, Windows2000, IE5, and Office2000.
'The macro examples below assumes that your VBA project has added a reference
'to the Microsoft Scripting Runtime library.
'
'LEES DIT EERST!!! READ THIS FIRST!!! LEES DIT EERST!!! READ THIS FIRST!!!
'You can do this from within the VBE by selecting the menu Tools, References and
'selecting Microsoft Scripting Runtime.
'###############################################################################
Kijk maar of je iets aan mijn oplossing hebt...:)

Groet, Leo
 

Bijlagen

  • PrintCompleteDir_LM1.zip
    17,5 KB · Weergaven: 122
Het lijkt erop dat deze macro alle Excel-documenten in de map HELEMAAL uitprint. Het gaat mij slechts om het eerste tabblad in elk document.
 
Guidovanh, Da's raar... Ik heb toch alleen een verwijzing naar het 1e tabblad gegeven.
Even voor de duidelijkheid: Ik bedoel met het 'afdrukken van het 1e tabblad' dus alle gegevens die op dat betreffende blad staan. Dit tabblad zou dus best meerdere printpagina's kunnen bevatten!
Of bedoel jij soms van ieder 1e tabblad alléén de 1e printpagina? (ook al zouden er dus meer pagina's af te drukken zijn?)

Werkt de rest trouwens wel???

Groet, Leo
 
Laatst bewerkt:
Aanvullende vraag

Beste Leo,

Bedankt voor je code. Ik gebruik hem om een andere macro te draaien op alle bestanden in een map. Ik maak namelijk van alle bestanden een CSV file en verander de inhoud iets.

Nu heb ik alleen een probleem met de opmaak van de CSV file. deze kan ik alleen bewerken door er nog een macro overheen te laten lopen. De handelingen moeten alleen in Word uitgevoerd worden omdat dit in Excel niet goed gedaan kan worden (3 dubbele quotes veranderen in 1 dubbele quotes).

Weet jij hoe ik deze code kan invoegen omdat de macro natuurlijk in Excel is geschreven....
Het gaat om de volgende code:
Ik kan je verklappen dat deze iig nog niet werkt.

Code:
    Word.Application.Documents.Open (Left(sBestandsNaam, Len(sBestandsNaam) - 4) & ".csv")
    
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = """"""""
        .Replacement.Text = """"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = ","
        .Replacement.Text = ";"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Word.Application.Documents.Save
    Word.Application.Documents.Close

Ik hoop dat je me kan helpen.

Groeten,

Halmar Heijnen
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan