Printare doar prima pagina a unor fisiere

Informatii despre cum se utilizeaza Microsoft Excel 2003. Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
Închis
Spartacus
Mesaje: 3
Membru din: Mar Apr 11, 2017 12:29 pm

Printare doar prima pagina a unor fisiere

Mesaj de Spartacus » Mar Apr 11, 2017 12:34 pm

Va salut!
Fiind dat un folder cu cateva sute de fisiere excel, am nevoie sa printez doar prima pagina a fiecarui fisier. Aveti idee cum ar arata functia macro care realizeaza lucrul asta?
Va multumesc.

Nills
Mesaje: 211
Membru din: Sâm Ian 23, 2016 11:24 am

Re: Printare doar prima pagina a unor fisiere

Mesaj de Nills » Mar Apr 11, 2017 1:16 pm

Buna,

Ce intelegi prin prima pagina?
Este vorba de prima foaie din fisier sau e vorba de pagina din print setup?
I don't care what you think of me! Unless you think I'm awesome – in which case, you're right! Carry on :D

TudyBTH
Moderator
Moderator
Mesaje: 993
Membru din: Joi Feb 11, 2016 2:12 pm
Localitate: Cluj Napoca

Re: Printare doar prima pagina a unor fisiere

Mesaj de TudyBTH » Mar Apr 11, 2017 3:02 pm

Buna,

Urmatorul cod deschide pe rand toate fisierele .xl* si tipareste la imprimanta implicita prima pagina din prima foaie (Sheet(1)) din fiecare.

Cod: Selectaţi tot

Sub PrAllFiles()
    Dim wb As Workbook
    Dim dosar As String, numeF As String
    
    dosar = "<<cale_dosar>>" 'completati calea dosarului
    'sau folositi functia GetFolderPath pentru a selecta dosarul
'    dosar = GetFolderPath
    numeF = Dir(dosar & "*.xl*")
    If Right(dosar, 1) <> "\" Then dosar = dosar & "\"
    
    Do While numeF <> ""
        Set wb = Workbooks.Open(dosar & numeF)
        wb.Sheets(1).Select
        ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
            :=True, IgnorePrintAreas:=False
        wb.Close False
        numeF = Dir
    Loop
End Sub
functia permite selectarea dosarului si intoarce calea acestuia

Cod: Selectaţi tot

Function GetFolderPath() As String
    Dim dosar As String
    Dim objFSO As Object
    
    Application.DisplayAlerts = False
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    GetFolderPath = ""
    With Application.FileDialog(msoFileDialogFolderPicker) 'User input for folder to look at
        .InitialFileName = Application.DefaultFilePath & "\"
        .Title = "Please select a folder source"
        .InitialFileName = ThisWorkbook.Path & "\"
        .Show
        If .SelectedItems.Count = 0 Then Exit Function
        GetFolderPath = .SelectedItems(1) & "\"
    End With
    Application.DisplayAlerts = True
End Function
Am invatat sa inotam in apa, ca pestii
Am invatat sa zburam in aer, ca pasarile
A ramas doar sa invatam sa traim pe Pamant, ca Oamenii.

Spartacus
Mesaje: 3
Membru din: Mar Apr 11, 2017 12:29 pm

Re: Printare doar prima pagina a unor fisiere

Mesaj de Spartacus » Mie Apr 12, 2017 7:34 am

Nills scrie:Buna,

Ce intelegi prin prima pagina?
Este vorba de prima foaie din fisier sau e vorba de pagina din print setup?

Este vorba de prima pagina din print setup. Fiecare fisier are doar un singur Sheet, dar cu foarte multe randuri (de ordinul miilor).

Spartacus
Mesaje: 3
Membru din: Mar Apr 11, 2017 12:29 pm

Re: Printare doar prima pagina a unor fisiere

Mesaj de Spartacus » Mie Apr 12, 2017 7:35 am

Multumesc, TudyBTH. O sa incerc cand ajung acasa. ;)

Închis

Înapoi la “Intrebari despre Excel 2003”